以编程方式获取权限详细信息
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
描述。
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
描述。