Отсутствие важных приложений из полученного списка установленных приложений с помощью packageManager в Android - PullRequest
0 голосов
/ 25 января 2019

Я пытаюсь получить список установленных приложений в моем приложении, например ящик приложений для Android (список приложений в алфавитном порядке)

Я удаляю приложение, которое системных приложений из списка, но при этом удаляет необходимое приложение как Калькулятор, YouTube и т. д. Однако если i Не отфильтровывать системное приложение , бесполезные системные приложения, такие как Резервное копирование, Corner_display, Bluetooth и т. Д. включены , которые я бы не хотел в ящике.

Вот код

 final PackageManager packageManager = getPackageManager();
 final List<PackageInfo> myInstalledPackagesList = packageManager.getInstalledPackages(0);

/*Excluding system applications*/
 final List<PackageInfo> myInstalledPackagesListNonSystemApps = new ArrayList<>();
 for(PackageInfo myInstalledPackagesListElement : myInstalledPackagesList){
       if( !isSystemPackage(myInstalledPackagesListElement)){
                                myInstalledPackagesListNonSystemApps.add(myInstalledPackagesListElement);
                            }
                        }

Это код, который я написал, чтобы проверить, является ли приложение системным приложением или нет, чтобы позже удалить его из списка. Это

  1. return True, если приложение является системным приложением,
  2. иначе возвращает False, если приложение не является системным приложением (установлен пользователем)
private boolean isSystemPackage(PackageInfo packageInfo) {
         ApplicationInfo applicationInfo = packageInfo.applicationInfo;
        return ((applicationInfo.flags & applicationInfo.FLAG_SYSTEM) != 0);
    }

myInstalledPackagesListNonSystemApps - это список, который я в конечном итоге использую

Ожидаемые результаты: Список всех установленных пользователем приложений
+ Важные системные приложения (YouTube, калькулятор, контакты и т. Д.) - (Другие системные приложения)

Любая помощь будет высоко ценится. Спасибо!

...