Jak zainstalować zainstalowane aplikacje w systemie Android i bez aplikacji systemowych?

Chcę pobrać całą aplikację, która pojawia się na ekranie menu. Ale teraz otrzymuję tylko aplikacje zainstalowane przez użytkownika lub całą aplikację (w tym aplikację systemową).

Mój obecny kod to:

    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)); 
        }

Dzięki temu kodowi mogę pobrać aplikacje zainstalowane przez użytkownika, a jeśli skomentuję instrukcję „jeśli”, otrzymam aplikacje systemowe.

Chcę więc, aby użytkownik zainstalował aplikacje i aplikacje, takie jak kontakty, galeria i tak dalej.

AKTUALIZACJA:

    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);

questionAnswers(4)

yourAnswerToTheQuestion