当前位置: 代码迷 >> Android >> Android创造和删除桌面快捷方式
  详细解决方案

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

热度:79   发布时间:2016-05-01 16:25:55.0
Android创建和删除桌面快捷方式

1 、创建

?

view plaincopy to clipboardprint?
  1. /**?
  2. ?*?为程序创建桌面快捷方式?
  3. ?*/??
  4. private?void?addShortcut(){??
  5. ????Intent?shortcut?=?new?Intent("com.android.launcher.action.INSTALL_SHORTCUT");??
  6. ??????????
  7. ????//快捷方式的名称??
  8. ????shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,?getString(R.string.app_name));??
  9. ????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. ????ShortcutIconResource?iconRes?=?Intent.ShortcutIconResource.fromContext(this,?R.drawable.icon);??
  17. ????shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,?iconRes);??
  18. ??????????
  19. ????sendBroadcast(shortcut);??
  20. }??

?

2、删除

?

view plaincopy to clipboardprint?
  1. /**?
  2. ?*?删除程序的快捷方式?
  3. ?*/??
  4. private?void?delShortcut(){??
  5. ????Intent?shortcut?=?new?Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");??
  6. ??????????
  7. ????//快捷方式的名称??
  8. ????shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,?getString(R.string.app_name));??
  9. ??????????
  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. }??

?

3、声明权限

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

?

view plaincopy to clipboardprint?
  1. <uses-permission?android:name="com.android.launcher.permission.INSTALL_SHORTCUT"?/>??
  2. <uses-permission?android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"?/>??
  3. zhuanzi:http://blog.csdn.net/pilou5400/archive/2010/12/06/6057355.aspx

?

  相关解决方案