So erhalten Sie die Liste aller installierten Verknüpfungen im Startbildschirm von Android
Ich wollte die Liste aller im Startbildschirm installierten Verknüpfungen programmgesteuert abrufen. Ich habe viele Snippets online gefunden, aber keines davon bietet die richtige Ausgabe
Für dieses Snippet:
Intent shortcutsIntent = new Intent(Intent.ACTION_CREATE_SHORTCUT);
ArrayList<Intent> intentList = new ArrayList<Intent>();
Intent intent=null;
String launchers="";
final PackageManager packageManager=getPackageManager();
for(final ResolveInfo resolveInfo:packageManager.queryIntentActivities(shortcutsIntent, 0)) {
launchers=launchers+"\n"+resolveInfo.activityInfo.packageName;
intent=packageManager
.getLaunchIntentForPackage(resolveInfo.activityInfo.packageName);
intentList.add(intent);
}
Dies bietet nur die voreingestellten Verknüpfungen wie Kontakte, Browser usw. nicht genau das, was auf dem Homescreen zu finden ist.
während dieses Schnipsel:
PackageManager pm = getPackageManager();
Intent i = new Intent("android.intent.action.MAIN");
i.addCategory("android.intent.category.HOME");
List<ResolveInfo> lst = pm.queryIntentActivities(i, 0);
if (lst != null) {
for (ResolveInfo resolveInfo : lst) {
}
}
}
Stellt nur den Standard-Starter zur Verfügung, nämlich com.android.launcher.