我想获得所有授予的权限。我知道我可以获取所有请求的权限,packageinfo.requestedPermissions
但是我想知道授予权限的列表,如果使用android M,授予的权限可以少于请求的权限。所以我只是想知道那是我可以获取所有授予的列表的方式权限?
我从请求的权限列表中知道,我可以检查是否授予了该权限天气,但是我想知道所有授予的权限列表。不想检查每个请求的权限。
一个简单的函数可以返回已为给定程序包请求并授予的所有权限,如下所示:
List<String> getGrantedPermissions(final String appPackage) {
List<String> granted = new ArrayList<String>();
try {
PackageInfo pi = getPackageManager().getPackageInfo(appPackage, PackageManager.GET_PERMISSIONS);
for (int i = 0; i < pi.requestedPermissions.length; i++) {
if ((pi.requestedPermissionsFlags[i] & PackageInfo.REQUESTED_PERMISSION_GRANTED) != 0) {
granted.add(pi.requestedPermissions[i]);
}
}
} catch (Exception e) {
}
return granted;
}
请注意,这需要API级别16或更高级别,但是希望这些天不会成为问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句