/**
* 为程序创建桌面快捷方式
*/
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);
}

/**
* 删除程序的快捷方式
*/
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);

}

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

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

更多相关文章

  1. Android之菜单总结
  2. Android(安卓)流式布局FlowLayout(搜索历史),多布局、删除、添加
  3. Android使用Retrofit进行网络请求
  4. Android官方入门文档[1]创建一个Android项目
  5. android 创建桌面快捷方式 、插件
  6. Android(安卓)命令行编译、打包生成apk文件
  7. AIR Native Extension的使用(Android)一 : 打包ane
  8. 创建android逐帧动画的两种方式
  9. 使用sencha cmd创建android应用

随机推荐

  1. Android8.0、Android9.0 通知notificatio
  2. android 开机铃音和开机图片以及系统自带
  3. android 对dp单位的理解
  4. android之AsyncQueryHandler详解
  5. Android(安卓)仿直播特效点赞飘爱心
  6. Activity之launchMode(运行模式)
  7. Android7.0启动SystemServer进程
  8. 在Android中使用logback-android日志框架
  9. Android布局管理器-使用TableLayout表格
  10. 在Android中afinal框架下实现sqlite数据