1

我正在尝试获取所有应用程序的列表,其中包括所有已安装的应用程序和一些系统应用程序,如相机、设置、消息。我通过使用安装了所有用户

ApplicationInfo.FLAG_SYSTEM == 0

和所有系统应用程序 ApplicationInfo.FLAG_SYSTEM == 1 ,也有一些系统应用程序来自 ApplictionInfo.FLAG_UPDATED_SYSTEM_APP 但不是全部

但是我想获取我在手机的应用程序部分看到的所有应用程序,所以任何人都可以帮助我如何过滤掉系统应用程序以仅获取相机、设置、消息等。

4

1 回答 1

3

使用此代码,

    PackageManager pm = this.getPackageManager();
    Intent intent = new Intent(Intent.ACTION_MAIN, null);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    list = pm.queryIntentActivities(intent, PackageManager.PERMISSION_GRANTED);
    for (ResolveInfo rInfo : list)
    {
       String str = rInfo.activityInfo.applicationInfo.loadLabel(pm).toString() + "\n";
       ArrayList results = new ArrayList();
       results.add(rInfo.activityInfo.applicationInfo.loadLabel(pm).toString());
       Log.w("Installed Applications", rInfo.activityInfo.applicationInfo.loadLabel(pm).toString());
       icon =  rInfo.activityInfo.applicationInfo.loadIcon(pm);
    }
于 2012-12-03T11:39:38.710 回答