首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android创办和删除桌面快捷方式

2012-09-10 
Android创建和删除桌面快捷方式??? 1,?创建?/** * 为程序创建桌面快捷方式 */private void addShortcut(){

Android创建和删除桌面快捷方式

???

1,?创建?

/** * 为程序创建桌面快捷方式 */private void addShortcut(){Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");//快捷方式的名称shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));shortcut.putExtra("duplicate", false); //不允许重复创建//指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer//注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName());shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));//快捷方式的图标ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);sendBroadcast(shortcut);}

??

2, 删除

/** * 删除程序的快捷方式 */private void delShortcut(){Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");//快捷方式的名称shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));//指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer//注意: ComponentName的第二个参数必须是完整的类名(包名+类名),否则无法删除快捷方式String appClass = this.getPackageName() + "." +this.getLocalClassName();ComponentName comp = new ComponentName(this.getPackageName(), appClass);shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));sendBroadcast(shortcut);}

?

?

3, 声明权限

在AndroidManifest.xml 文件中声明 创建和删除快捷方式时声明权限

?

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

?

?

1 楼 mapeijie888 2010-11-19   实验环境 sdk2.2  创建 ok 删除失败 2 楼 huangbq 2010-12-21   楼主,卸载程序的时候自动删除“程序的快捷方式 ”怎么实现,能不能提供一种可行方案? 3 楼 mermaid 2011-01-05   huangbq 写道楼主,卸载程序的时候自动删除“程序的快捷方式 ”怎么实现,能不能提供一种可行方案?
卸载程序的时候不是自动删除快捷方式吗?系统自己处理的 4 楼 1846396994 2012-04-21   总结的关于添加和删除及判断是否存在快捷方式,Android应用添加(创建)和删除及判断是否存在桌面快捷方式 5 楼 huangbq 2012-04-26   mermaid 写道huangbq 写道楼主,卸载程序的时候自动删除“程序的快捷方式 ”怎么实现,能不能提供一种可行方案?
卸载程序的时候不是自动删除快捷方式吗?系统自己处理的
有这样一个需求,就是应用更换了图标.当应用升级时我需要删掉原来就的快捷方式,创建新的,或者有没有什么广播告诉桌面我的快捷方式的图标改变,不知道你有没有好的思路; 6 楼 huangbq 2012-04-26   1846396994 写道总结的关于添加和删除及判断是否存在快捷方式,Android应用添加(创建)和删除及判断是否存在桌面快捷方式
多谢回答,不过我有个疑问,现在市面的桌面非常的多,而每个桌面保存快捷方式缓存的数据库不尽相同(博客只给出Android自带桌面的标准数据库判断是否已经创建的快捷方式的方法),并且删掉快捷方式的方法不起作用; 7 楼 1846396994 2012-04-27   huangbq 写道1846396994 写道总结的关于添加和删除及判断是否存在快捷方式,Android应用添加(创建)和删除及判断是否存在桌面快捷方式
多谢回答,不过我有个疑问,现在市面的桌面非常的多,而每个桌面保存快捷方式缓存的数据库不尽相同(博客只给出Android自带桌面的标准数据库判断是否已经创建的快捷方式的方法),并且删掉快捷方式的方法不起作用;


那你只能一个个去测试了, 毕竟这些桌面都是私有,他们有没有提供api不一定。

热点排行