I am trying to remove all shortcuts from all screens in android. I succeed it once but somehow it stopped working after next execute. Could I ask you to help me find out what would be the problem? There is not stack, there is no error, just I click and nothing happens. When I first managed to success I got many toasts describing that "X was removed".
Here is my code:
private void method0() {
final Intent anyIntent = new Intent(Intent.ACTION_MAIN, null);
List<ResolveInfo> pkgAppsList = this.getPackageManager().queryIntentActivities(anyIntent, 0);
for (final ResolveInfo resolveInfo : pkgAppsList) {
method(resolveInfo);
}
}
private void method(ResolveInfo resolveInfo) {
try {
final PackageManager pm = getPackageManager();
String packageName = ((ActivityInfo) resolveInfo.activityInfo).packageName;
String appName = (String) resolveInfo.loadLabel(pm);
ComponentName componentName = new ComponentName(resolveInfo.activityInfo.applicationInfo.packageName, resolveInfo.activityInfo.name);
if (packageName.startsWith("com.google") || (packageName.startsWith("com.android")))
return;
final Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
shortcutIntent.setComponent(new ComponentName(packageName, componentName.getClassName()));
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, appName);
intent.setComponent(new ComponentName(packageName, componentName.getClassName()));
intent.setAction("com.android.launcher.action.UNINSTALL_SHORTCUT");
sendBroadcast(intent, null);
} catch (Exception e) {
e.printStackTrace();
}
}
I added also permission
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
I am using standard launcher for Nexus 4 - original image ROM from google site.