快捷方式删除不成功的解决办法
2013-04-09 16:29
337 查看
首先创建和删除的代码如下:
public void removeShortcut(Context context) {
Intent intent = null;
try {
intent = Intent.parseUri(shortcutUri, 0);
} catch (URISyntaxException e) {
}
intent.setAction("com.android.launcher.permission.UNINSTALL_SHORTCUT");
context.sendBroadcast(intent);
}
解决的办法如下:
Try to use
Note: You do not have to save
If you want to use
then you need to set action for
参考资料:
public void addShortcut(Context context) { Intent shortcutIntent = new Intent(); shortcutIntent.setClassName("com.telespree.android.client", "com.telespree.android.client.ShortcutTest"); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); Intent intent = new Intent(); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "ShortcutTest"); intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.drawable.icon)); intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); shortcutUri = intent.toUri(MODE_WORLD_WRITEABLE); context.sendBroadcast(intent); }
public void removeShortcut(Context context) {
Intent intent = null;
try {
intent = Intent.parseUri(shortcutUri, 0);
} catch (URISyntaxException e) {
}
intent.setAction("com.android.launcher.permission.UNINSTALL_SHORTCUT");
context.sendBroadcast(intent);
}
解决的办法如下:
Try to use
public void removeShortcut(Context context) { Intent intent = new Intent(); intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "ShortcutTest"); try { Intent shortcutIntent = Intent.parseUri(shortcutUri, 0); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); } catch (URISyntaxException e) { } intent.setAction("com.android.launcher.permission.UNINSTALL_SHORTCUT"); context.sendBroadcast(intent); }
Note: You do not have to save
shortcutUrito remove the shortcut. Instead you can use
Intent shortcutIntent = new Intent(); shortcutIntent.setClassName("com.telespree.android.client", "com.telespree.android.client.ShortcutTest"); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); Intent intent = new Intent(); try { intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, Intent.parseUri(shortcutIntent.toUri(0), 0)); } catch (URISyntaxException e) { e.printStackTrace(); } ... intent.setAction("com.android.launcher.action.UNINSTALL_SHORTCUT"); context.sendBroadcast(intent);
If you want to use
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);instead of
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, Intent.parseUri(shortcutIntent.toUri(0), 0));
then you need to set action for
shortcutIntenteach time , i.e. while installing as well as while uninstalling e.g.
Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
参考资料:
Trying to UNINSTALL_SHORTCUT but shortcut won't go away
相关文章推荐
- android程序卸载后无法删除桌面快捷方式的解决办法
- 如何删除快捷方式的小箭头【解决办法】
- android程序卸载后无法删除桌面快捷方式的解决办法
- android程序卸载后无法删除桌面快捷方式的解决办法
- 【技术贴】删除快捷方式变慢变卡,很长时间不出现对话框的解决办法。。
- 【转】[win7] 桌面IE快捷方式无法删除 解决办法
- android程序卸载后无法删除桌面快捷方式的解决办法
- Android开发中之删除手机电话薄中的一条数据时之删除不成功的解决办法
- 学习python的问题-安装Anaconda2时菜单栏没有快捷方式的解决办法
- app覆盖安装后,桌面快捷方式图标和标题被改变的解决办法
- 鼠标右击发送到后出现无效快捷方式的解决办法
- 给自己的文件或软件创建快捷方式,为何不能在别人的电脑上使用的解决办法
- anaconda没有创建启动快捷方式的解决办法
- 【技术贴】桌面图标变色了怎么办?桌面图标快捷方式失真、模糊的解决办法!
- Linux使用curl 方式安装docker-compose 后执行docker-compose version 检查安装是否成功时出错的解决办法
- IE图标删除不了、快捷方式打不开解决方法
- IE只有打开和创建快捷方式【解决办法】
- U盘只剩下一个快捷方式,解决办法
- vs生成安装包时,生成的快捷方式指向的目标只是 文件夹,而不是具体的可执行文件 解决办法
- NSIS不能删除其打包的程序桌面快捷方式的解决方式