Android创建和删除桌面快捷方式
1 、创建
?
view plaincopy to clipboardprint?- /**?
- ?*?为程序创建桌面快捷方式?
- ?*/??
- 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、删除
?
view plaincopy to clipboardprint?- /**?
- ?*?删除程序的快捷方式?
- ?*/??
- 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 文件中声明 创建和删除快捷方式时声明权限
?
view plaincopy to clipboardprint?- <uses-permission?android:name="com.android.launcher.permission.INSTALL_SHORTCUT"?/>??
- <uses-permission?android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"?/>??
- zhuanzi:http://blog.csdn.net/pilou5400/archive/2010/12/06/6057355.aspx
?