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

标签 android android-permissions

android sdk 中是否有他们提供特定权限的信息?就像 google play 一样,只要你点击一个权限,你就可以看到这个权限的作用。我有这个功能可以返回我对应用程序的特定权限

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<>();
    }
} 

通过这段代码,我只能获得权限名称,但我想知道是否有任何此类 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;
}

如果上面的方法可以解析给它的permission名称,那么上面的方法将返回PermissionInfo实例,然后你可以简单地调用loadDescription来加载权限描述。

关于android - 以编程方式获取权限详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32159093/

相关文章:

android - Android 中的权限存储在哪里?

android - 显示运行时权限对话框时出现异常

android - 是否可以向库请求运行时权限?

android - 更改切换按钮 Android 的开/关文本

图像周围带有红色圆形边框的 Android Piccaso

android - Room + 找不到实现 DB + DB_Impl 不存在

android - 我的应用仅使用存储权限,是否需要隐私政策?

Android 未经请求的 ACCESS_COARSE_LOCATION 权限

Android:无损WEBP压缩

android - 使用 Retrofit 库获取简单的 JSON 对象响应