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.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage