有选择地显示 Android 中的应用

Selectively displaying apps in Android

我正在制作一个启动器应用程序,我想知道如何根据用户输入select在我的启动器上主动显示应用程序。像其他启动器一样会正常显示所有应用程序,但在我的启动器中,用户可以根据需要选择不显示某些应用程序。

那么我如何调用 PackageManager 来 show/not 显示几个 select 应用程序?

我现在的方式是-

  1. 查询来自 PackageManager 的所有应用程序并将其保存在 <ResolveInfo> 列表中
  2. 让应用程序不显示在另一个 <ResolveInfo> 列表中
  3. 减去列表并传递新列表来填充我的启动器

我在第 3 步需要帮助

您可以使用此代码比较用户选择的要隐藏的应用程序与已安装的应用程序并生成新列表以显示在您的启动器中:

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