Android创办和删除桌面快捷方式
Android创建和删除桌面快捷方式
卸载程序的时候不是自动删除快捷方式吗?系统自己处理的
卸载程序的时候不是自动删除快捷方式吗?系统自己处理的
有这样一个需求,就是应用更换了图标.当应用升级时我需要删掉原来就的快捷方式,创建新的,或者有没有什么广播告诉桌面我的快捷方式的图标改变,不知道你有没有好的思路;
多谢回答,不过我有个疑问,现在市面的桌面非常的多,而每个桌面保存快捷方式缓存的数据库不尽相同(博客只给出Android自带桌面的标准数据库判断是否已经创建的快捷方式的方法),并且删掉快捷方式的方法不起作用;
多谢回答,不过我有个疑问,现在市面的桌面非常的多,而每个桌面保存快捷方式缓存的数据库不尽相同(博客只给出Android自带桌面的标准数据库判断是否已经创建的快捷方式的方法),并且删掉快捷方式的方法不起作用;
那你只能一个个去测试了, 毕竟这些桌面都是私有,他们有没有提供api不一定。
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不一定。