Android开启应用时自动创建快捷方式

今天在使用360手机助手时,发现它会自动创建一个快捷启动方式,感觉挺有意思的,所以就上网百度了一些方法,试了一下,有一种方法是挺不错的,我借鉴来用用,先保存下来,我也写了一个测试小程序。

首先,在你要启动应用的mainActivity里添加代码,在onCreate()方法里,加一个方法createShortCut();

然后就是方法的实现:

private void createShortCut() {
        // TODO Auto-generated method stub
        //创建快捷方式的Intent
         addShortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
        //不允许重复创建
        addShortcut.putExtra("duplicate", false);
        //<span><span class="comment">指定当前的Activity为快捷方式启动的对象: 如 com.android.music.</span>MusicBrowserActivity<span>
</span></span>        //<span><span class="comment">注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序</span><span></span></span>
         ComponentName comp = new ComponentName(this.getPackageName(), "."
                + this.getLocalClassName());
        addShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,new Intent(Intent.ACTION_MAIN).setComponent(comp));
        //设置快捷方式的图标
        ShortcutIconResource icon = Intent.ShortcutIconResource.fromContext(this,
                R.drawable.ic_launcher);
        addShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
       // 设置快捷方式的名字
       addShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
        sendBroadcast(addShortcut);
}

这个当然要添加一个权限才能成功:在AndroidManifest.xml里添加

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

OK,现在就可以运行程序了!

时间: 2024-08-28 15:56:05

Android开启应用时自动创建快捷方式的相关文章

bat自动创建快捷方式并更换图标

1 :: 此脚本主要的作用创建1.自动创建快捷方式:2.自动更换快捷方式图标 2 @echo off 3 >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" 4 if '%errorlevel%' NEQ '0' ( 5 goto UACPrompt 6 ) else ( goto gotAdmin ) 7 :UACPrompt 8 e

Android 主界面长按创建快捷方式

Android中创建快捷方式主要有两种方式,一是在代码中直接添加生成桌面快捷方式的代码:二是通过小部件添加; 这篇文章主要讲第二种方法! 1.通过在AndroidManifest文件中为Activity添加 <intent-filter> <action android:name="android.intent.action.CREATE_SHORTCUT"/> </intent-filter> 添加之后,长按桌面,小部件中会有你应用的图标出现!这才

SAP收货时自动创建采购订单(或106 ,自动建立退货采购订单)

在实际业务中,常常出现到货物料没有订单或订单未批准的现象,按照SAP的标准流程,应该拒绝收货.但在实际业务中,这些物料可能是紧急采购的急件,如不及时处理,将会影响生产计划的安排.对于这种特殊情况,其实SAP有很灵活的处理方式,即由收货自动创建订单.需要说明的是,这种操作方式并不是SAP推荐的,不应在实际业务中大量采用. 具体流程如下: 1.移动类型101已在后台设置为自动创建定单.具体方法是:进入IMG后台,物料管理->库存管理和实际库存->收货->自动创建采购订单,双击进入后,将101

创建新的Android项目,Eclipse自动创建的appcompat内容

====================问题描述==================== 更新ADT至22.6.0版本之后,创建新的安装项目,会出现appcompat_v7的内容.并且是创建一个新的内容就会出现.这到底是怎么回事,本来MainActivity的是继承Activity的,创建出来的项目继承的是ActionBarActivity.选主题的是就是none.大家又遇到这样的问题? 如果我删除appcompat_v7这个内容,便会出现各种各样的其他问题.我快崩溃了!  ==========

RocketMQ3.2.2生产者发送消息自动创建Topic队列数无法超过4个

问题现象 RocketMQ3.2.2版本,测试时尝试发送消息时自动创建Topic,设置了队列数量为8: producer.setDefaultTopicQueueNums(8); 同时设置broker服务器的配置文件broker.properties: defaultTopicQueueNums=16 但实际创建后从控制台及后台打印代码观察到该Topic只创建了4个队列,反复重试确认发送消息时自动创建Topic,最大创建4个队列. 查找原因 服务端与客户端配置对比 阅读源码,在TopicConf

eclipse 自动创建web.xml

以前每次创建web项目的时候,总是从其他的项目中拷贝一个web.xml文件到新项目,然后改吧改吧就可以了,但是这终究是一件麻烦的事,要是能够通过软件自动创建,那应该还是一件比较爽的事,今天就简单介绍一下eclipse如何自动创建web.xml文件. 一.自动生成web.xml文件 在创建的项目上右键:--> Java EE Tools --> Generate Deployment Descriptor Stub 然后就可以看见项目下的WEB-INF里面就会生成一个web.xml文件. 二.创

一步一步学习Linux驱动之自动创建设备节点

<span style="font-size:12px;">extern struct device *device_create(struct class *cls, struct device *parent, dev_t devt, void *drvdata, const char *fmt, ...) __attribute__((format(printf, 5, 6)));</span> 函数功能: 函数device_create()用于动态的建立

android判断和创建快捷方式(4.03测试通过)

整理了网上的创建方式的代码,对于快捷方式的判断使用系统api获取当前启动器来处理,这样系统定制过或者启动器不一样也没关系 . 一加权限和声明目标activity <!-- 创建快捷方式 --> <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> <uses-permission android:name="com.android.l

Android adt v22.6.2-1085508 自动创建 appcompat_v7 解决方法,最低版本2.2也不会出现

Android 开发工具升级到22.6.2在创建工程时只要选择的最低版本低于4.0,就会自动生成一个项目appcompat_v7,没创建一个新的项目都会自动创建,很是烦恼... 之前在网上也找过方法,都是天篇一律 创建工程时最低选择 4.0,但这样弊端很明显,不能 在低于4.0的版本上运行,应用的兼容性太弱了.. 也是烦恼了一段时间的,今天偶然发现了一个完美的解决方法 只要在创建工程的时候选择不创建Activity就可以解决了哈,很简单吧 Android adt v22.6.2-1085508