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

时间:2015-08-22 17:52:07

标签: android android-permissions

在android sdk中有没有提供特定权限的信息?就像谷歌播放一样,无论何时点击权限,您都可以阅读此权限的功能。我有这个函数给我一个应用程序的特定权限

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返回权限及其详细信息。

1 个答案:

答案 0 :(得分:0)

要回答我的问题,PermissionInfo实际上是正确class来获取有关任何android permission的说明,例如:

@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个实例,如果它可以解析为其提供的permission名称,那么只需调用loadDescription即可加载permission个描述。< / p>