android - 如何获得授予 Android 上已安装应用程序的权限?
问题描述
我正在使用下面的代码来遍历请求的权限列表并检查是否授予了权限。但是,这不适用于所有已安装的应用程序。
final PackageManager pm = getPackageManager();
List<String> granted = new ArrayList<String>();
// Loop each package requesting <manifest> permissions
for (final PackageInfo pi : pm.getInstalledPackages(GET_PERMISSIONS)) {
final String[] requestedPermissions = pi.requestedPermissions;
if (requestedPermissions == null) {
// No permissions defined in <manifest>
continue;
}
// Loop each <uses-permission> tag to retrieve the permission flag
for (int i = 0, len = requestedPermissions.length; i < len; i++) {
try {
if ((pi.requestedPermissionsFlags[i] &
PackageInfo.REQUESTED_PERMISSION_GRANTED) != 0) {
granted.add(pi.requestedPermissions[i]);
}
catch (Exception e) {
}
}
}
我已经在 stackoverflow 上查看了以下线程,但它们也没有明确的答案。
是否可以检查另一个应用程序是否已获得 Android 6.0+ 的权限?
有人可以帮忙吗?
解决方案
推荐阅读
- regex - 如何替换记事本++中文件的前8个字符?
- makefile - Makefile:48: 目标“htpasswd”的配方失败
- r - R - left_join 带有循环的数据框
- asp.net-mvc-5 - 将 bootstrap.css 从 3.3.7 更新到 4.1.1 时,Asp.Net MVC5 网站菜单栏折叠
- javascript - React 和 Webpack 开发服务器:热重载不起作用
- c# - 如何通过脚本在 Unity3D 中动态生成 Gui?
- telephony - 你会怎么称呼允许通过电话手动输入数据的应用程序
- java - 如何将图片(文件)上传到android studio上的服务器?
- postgresql - 在 Postgresql 中加入两个表,同时保留不匹配的行
- javascript - 猫鼬 findOneAndUpdate 查询从函数返回未定义