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

Get permission details programmatically

android sdk 中是否有他们提供特定权限的信息?就像 google play 一样,只要您单击一个权限,您就可以阅读该权限的作用。我有此功能 return 我对应用程序的特定权限

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

回答我的问题,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;
}

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