Выборочное отображение приложений в Android

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

Так как бы я позвонил PackageManager показать / не показать несколько избранных приложений?

Мой нынешний путь-

  1. Запросить все приложения из PackageManager и держать его в <ResolveInfo> список
  2. Держите приложения не показывать в другом <ResolveInfo> список
  3. Вычтите списки и передайте новый список, чтобы заполнить мой лаунчер

Мне нужна помощь на шаге 3

1 ответ

Решение

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

List<PackageInfo> packageInfos=getPackageManager().getInstalledApplications();
    List<PackageInfo> newList=new ArrayList<>();
    for (PackageInfo packs:
         packageInfos) {
        if(!packs.packageName.equals("User input package name"))
            newList.add(packs);
    }
Другие вопросы по тегам