Android创建和删除桌面快捷方式
Android创建和删除桌面快捷方式
1, 创建
view sourceprint?
- 01 /**
- 02 * 为程序创建桌面快捷方式
- 03 */
- 04 private void addShortcut(){
- 05 Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
- 06
- 07 //快捷方式的名称
- 08 shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
- 09 shortcut.putExtra("duplicate", false); //不允许重复创建
- 10
- 11 //指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
- 12 //注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
- 13 ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName());
- 14 shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));
- 15
- 16 //快捷方式的图标
- 17 ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);
- 18 shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
- 19
- 20 sendBroadcast(shortcut);
- 21 }
复制代码2, 删除
view sourceprint?
- 01 <STRONG> /**
- 02 * 删除程序的快捷方式
- 03 */
- 04 private void delShortcut(){
- 05 Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");
- 06
- 07 //快捷方式的名称
- 08 shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
- 09
- 10 //指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
- 11 //注意: ComponentName的第二个参数必须是完整的类名(包名+类名),否则无法删除快捷方式
- 12 String appClass = this.getPackageName() + "." +this.getLocalClassName();
- 13 ComponentName comp = new ComponentName(this.getPackageName(), appClass);
- 14 shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));
- 15
- 16 sendBroadcast(shortcut);
- 17
- 18 }
- 19 </STRONG>
复制代码3, 声明权限
在AndroidManifest.xml 文件中声明 创建和删除快捷方式时声明权限
view sourceprint?
- 1 <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
- 2 <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论