我必须以编程方式从 Android 应用程序的 manifest.xml 中检索权限,但我不知道该怎么做。
我读了the post here但我对答案并不完全满意。 我想 android API 中应该有一个类允许从 list 中检索信息。
谢谢。
最佳答案
您可以使用 PackageManager 获取应用程序请求的权限(它们可能未被授予):
PackageInfo info = getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS);
String[] permissions = info.requestedPermissions;//This array contains the requested permissions.
我在实用方法中使用它来检查是否声明了预期的权限:
//for example, permission can be "android.permission.WRITE_EXTERNAL_STORAGE"
public boolean hasPermission(String permission)
{
try {
PackageInfo info = getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS);
if (info.requestedPermissions != null) {
for (String p : info.requestedPermissions) {
if (p.equals(permission)) {
return true;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
关于java - 以编程方式从 android 中的 manifest.xml 中检索权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18236801/