【问题标题】:How can I search applicationinfo by permissions?如何按权限搜索应用程序信息?
【发布时间】:2015-06-02 12:29:53
【问题描述】:

我想显示安装在用户设备上的应用程序列表,这些应用程序对其清单文件具有互联网权限,目前我正在使用以下代码获取所有应用程序:

PackageManager packageManager = mainActivity.getPackageManager();
            apps = packageManager.getInstalledApplications(0);
            Collections.sort(apps, new ApplicationInfo.DisplayNameComparator(packageManager));

【问题讨论】:

    标签: android android-manifest android-applicationinfo


    【解决方案1】:

    使用getInstalledPackages() 代替getInstalledApplications(),包括GET_PERMISSIONS 中的flags。对于那些请求权限的包,生成的 PackageInfo 对象将填充一个 permissions 字段。 permissions 将是一个PermissionInfo[],而PermissionInfo 有一个name 字段,您可以检查它是否符合您所需的权限。这样的事情应该可以工作:

    for (PackageInfo pkg : mgr.getInstalledPackages(PackageManager.GET_PERMISSIONS)) {
      for (PermissionInfo perm : pkg.permissions) { 
        if (Manifest.permission.INTERNET.equals(perm.name)) {
          // do something
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 2022-01-04
      • 2012-06-07
      • 1970-01-01
      相关资源
      最近更新 更多