Is there a way to get list of all applications that use certain permission group? For example, if I have some permissions like Location, Camera or Contacts, I want to show the list of applications that use selected permission.
Here is the example image, so basically if I click on Location I want to show every installed app that use location permissions.
Thanks.
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);