Android创建和删除桌面快捷方式
16lz
2022-06-17
1 、创建
view plain copy to clipboard print ?
- /**
- *为程序创建桌面快捷方式
- */
- privatevoidaddShortcut(){
- Intentshortcut=newIntent("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的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
- ComponentNamecomp=newComponentName(this.getPackageName(),"."+this.getLocalClassName());
- shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,newIntent(Intent.ACTION_MAIN).setComponent(comp));
- //快捷方式的图标
- ShortcutIconResourceiconRes=Intent.ShortcutIconResource.fromContext(this,R.drawable.icon);
- shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,iconRes);
- sendBroadcast(shortcut);
- }
2、删除
view plain copy to clipboard print ?
- /**
- *删除程序的快捷方式
- */
- privatevoiddelShortcut(){
- Intentshortcut=newIntent("com.android.launcher.action.UNINSTALL_SHORTCUT");
- //快捷方式的名称
- shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,getString(R.string.app_name));
- //指定当前的Activity为快捷方式启动的对象:如com.everest.video.VideoPlayer
- //注意:ComponentName的第二个参数必须是完整的类名(包名+类名),否则无法删除快捷方式
- StringappClass=this.getPackageName()+"."+this.getLocalClassName();
- ComponentNamecomp=newComponentName(this.getPackageName(),appClass);
- shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,newIntent(Intent.ACTION_MAIN).setComponent(comp));
- sendBroadcast(shortcut);
- }
3、声明权限
在AndroidManifest.xml 文件中声明 创建和删除快捷方式时声明权限
view plain copy to clipboard print ?- <uses-permissionandroid:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
- <uses-permissionandroid:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
更多相关文章
- android Notification的使用
- Android创建XMl文件
- Android对Window对象的管理机制分析
- Android(安卓)图片缩放
- Android(安卓)ContentObserver ---拦截短信并删除
- Android创建快捷方式(shortcut)
- android 开发 实例 下部主导航(1)
- Android桌面快捷方式的实现
- Android(安卓)虚拟机安装SD卡