1.创建快捷方式

  1. /**
  2. *为程序创建桌面快捷方式
  3. */
  4. privatevoidaddShortcut(){
  5. Intentshortcut=newIntent("com.android.launcher.action.INSTALL_SHORTCUT");
  6. //快捷方式的名称
  7. shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,getString(R.string.app_name));
  8. shortcut.putExtra("duplicate",false);//不允许重复创建
  9. //指定当前的Activity为快捷方式启动的对象:如com.everest.video.VideoPlayer
  10. //注意:ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
  11. ComponentNamecomp=newComponentName(this.getPackageName(),"."+this.getLocalClassName());
  12. shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,newIntent(Intent.ACTION_MAIN).setComponent(comp));
  13. //快捷方式的图标
  14. ShortcutIconResourceiconRes=Intent.ShortcutIconResource.fromContext(this,R.drawable.icon);
  15. shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,iconRes);
  16. sendBroadcast(shortcut);
  17. }

2.删除快捷方式

  1. /**
  2. *删除程序的快捷方式
  3. */
  4. privatevoiddelShortcut(){
  5. Intentshortcut=newIntent("com.android.launcher.action.UNINSTALL_SHORTCUT");
  6. //快捷方式的名称
  7. shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,getString(R.string.app_name));
  8. //指定当前的Activity为快捷方式启动的对象:如com.everest.video.VideoPlayer
  9. //注意:ComponentName的第二个参数必须是完整的类名(包名+类名),否则无法删除快捷方式
  10. StringappClass=this.getPackageName()+"."+this.getLocalClassName();
  11. ComponentNamecomp=newComponentName(this.getPackageName(),appClass);
  12. shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,newIntent(Intent.ACTION_MAIN).setComponent(comp));
  13. sendBroadcast(shortcut);
  14. }

3.声明权限

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

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

更多相关文章

  1. android 数据库初体验
  2. Android中创建文件以及文件夹
  3. Android(安卓)创建单独的服务运行在后台(无界面)
  4. Android(安卓)创建菜单
  5. android 将bitmap缓存到本地
  6. android创建自定义对话框
  7. Android(安卓)封装http请求的工具类
  8. Android(安卓)room操作数据库
  9. Android创建和删除桌面快捷方式

随机推荐

  1. 华硕 Eee Pad Transformer 3G 版本台湾地
  2. Android省电策略
  3. [android] HttpURLConnection的初步学习
  4. android关于使用哪个版本开发的讨论
  5. Android状态栏和虚拟导航栏的适配总结
  6. [Android]Android SDK 2.3与Eclipse最新
  7. 自定义Seekbar拖动条式样
  8. Android(安卓)实例-个人理财工具 之一 启
  9. Android(安卓)Studio Jni 开发
  10. android学到啥时候就高级了啊