Ich möchte alle Anwendungen erhalten, die auf dem Menübildschirm angezeigt werden. Aber, jetzt bekomme ich nur den Benutzer installierte Anwendungen oder die gesamte Anwendung (einschließlich der Systemanwendung).Wie installiere ich Anwendungen in Android und keine System-Apps?
Mein aktueller Code ist:
final PackageManager pm = getActivity().getPackageManager();
List<PackageInfo> apps = pm.getInstalledPackages(PackageManager.GET_META_DATA);
ArrayList<PackageInfo> aux = new ArrayList<PackageInfo>();
for (int i = 0; i < apps.size(); i++) {
if (apps.get(i).versionName != null && ((apps.get(i).applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 1)) {
aux.add(apps.get(i));
}
Mit diesem Code kann ich die Benutzer installierten Anwendungen bekommen, und wenn ich die 'if' Anweisung kommentieren, werde ich die System-Apps bekommen.
Also, ich möchte den Benutzer installiert Apps und Anwendungen wie Kontakte, Galerie und so weiter.
UPDATE:
final PackageManager pm = getActivity().getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> apps = pm.queryIntentActivities(intent, PackageManager.GET_META_DATA);
aber Kontakte ist ein System-App? Bitte erläutern Sie den Unterschied. Welche Liste von Apps möchtest du? – Blundell
Ich möchte eine Liste mit allen Apps erhalten, die auf dem Menübildschirm angezeigt werden. – beni
aber Kontakte erscheinen im Menübildschirm? d.h. System-Apps. Vielleicht hilft eine andere Frage. Welche spezifischen Apps * möchten Sie nicht? – Blundell