我可以从下面的代码中删除单个快捷方式。但如果它们在主屏幕上有超过1个快捷方式,它只会删除首先创建或放置的快捷方式的单个实例。
final Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
shortcutIntent.setComponent(new ComponentName(packagename, classname));
shortcutIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final Intent intent = new Intent(
"com.android.launcher.action.UNINSTALL_SHORTCUT");
intent.setClass(this, UninstallShortcutReceiver.class);
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, appName);
intent.putExtra("duplicate", false);
intent.setComponent(new ComponentName(packagename, classname));
sendBroadcast(intent);
我查看了launcher.db文件,但收藏夹表只包含该应用程序的单行。他们在该表中的任何字段是否包含该映射?如何删除多个快捷方式而非单个快捷方式?