Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 以编程方式获取权限详细信息_Android_Android Permissions - Fatal编程技术网

Android 以编程方式获取权限详细信息

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

android sdk中是否存在提供特定权限信息的情况?就像GooglePlay一样,只要你点击一个权限,你就可以阅读这个权限的作用。我使用此函数返回应用程序的特定权限

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类获取的所有内容@马库斯·马维尔,当然是的,我只是好奇为什么我从来没有上过那门课。我将在周末试一试,看看它是如何工作的。谢谢你的帮助。