Android 以编程方式获取权限详细信息
android sdk中是否存在提供特定权限信息的情况?就像GooglePlay一样,只要你点击一个权限,你就可以阅读这个权限的作用。我使用此函数返回应用程序的特定权限Android 以编程方式获取权限详细信息,android,android-permissions,Android,Android Permissions,android sdk中是否存在提供特定权限信息的情况?就像GooglePlay一样,只要你点击一个权限,你就可以阅读这个权限的作用。我使用此函数返回应用程序的特定权限 public static List<String> getAppPermissions(Context context, String packageName) { try { PackageInfo info = context.getPackageManager().getPackage
public static List<String> getAppPermissions(Context context, String packageName) {
try {
PackageInfo info = context.getPackageManager().getPackageInfo(packageName, PackageManager.GET_PERMISSIONS);
return Arrays.asList(info.requestedPermissions);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
return new ArrayList<>();
}
}
公共静态列表getAppPermissions(上下文,字符串packageName){
试一试{
PackageInfo info=context.getPackageManager().getPackageInfo(packageName,PackageManager.GET_权限);
返回Arrays.asList(info.requestedPermissions);
}捕获(PackageManager.NameNotFounde异常){
e、 printStackTrace();
返回新的ArrayList();
}
}
通过这段代码,我只得到权限名,但我想知道是否有这样的api返回权限及其详细信息 为了回答我的问题,
PermissionInfo
实际上是正确的类
来获取任何android权限的描述,例如:
@Nullable
public static PermissionInfo getPermissionInfo(@NonNull Context context, @NonNull String permission) {
try {
return context.getPackageManager().getPermissionInfo(permission, PackageManager.GET_META_DATA);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return null;
}
上述方法将返回PermissionInfo
实例,如果它可以解析指定给它的权限
名称,然后您只需调用loadDescription
即可加载权限
描述。这可能会回答以下问题:@Markus Marvell nope这没有帮助。这只会告诉您权限级别,如标签、说明、图标等,即您可以从PermissionInfo类获取的所有内容@马库斯·马维尔,当然是的,我只是好奇为什么我从来没有上过那门课。我将在周末试一试,看看它是如何工作的。谢谢你的帮助。