获取所选权限的所有应用程序

时间:2018-03-26 16:50:13

标签: android permissions installed-applications

有没有办法获取使用特定权限组的所有应用程序的列表?例如,如果我有一些权限,如位置,相机或通讯录,我想显示使用所选权限的应用程序列表。

以下是示例图片,所以基本上如果我点击“位置”,我想要显示每个使用位置权限的已安装应用。

感谢。

Permissions

    PackageManager packageManager = getContext().getPackageManager();
    List<PackageInfo> packageInfoList = packageManager.getInstalledPackages(0);

    //Package name results
    ArrayList<String> packageList = new ArrayList<>();

    boolean isGranted;

    for (PackageInfo packageInfo : packageInfoList) {

        isGranted = PackageManager.PERMISSION_GRANTED == packageManager.checkPermission(Manifest.permission.ACCESS_FINE_LOCATION, packageInfo.packageName);

        if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
            //System apps
            continue;
        }

        if (isGranted) {
            packageList.add("" + packageInfo.applicationInfo.packageName);
        }
    }

    System.out.println("################# PACKAGES LIST: " + packageList);

0 个答案:

没有答案