我需要从权限名称中找到权限组名称,如联系人、存储等。我有以下代码
public ArrayList<String> permissionGroup(ArrayList<String> permission) {
ArrayList<String>groupPermission = new ArrayList<>();
PackageManager pm = getPackageManager();
for(String entry : permission){
PermissionGroupInfo info = null;
try {
info =pm.getPermissionGroupInfo(entry,0);
} catch (PackageManager.NameNotFoundException e) {
Log.w("infoerror ", e.getStackTrace().toString());
}
if(info == null){
Log.w("infonull","error");
}
else {
String loadLabelVal = info.loadLabel(pm).toString();
Log.w("groupName ", loadLabelVal);
if (!groupPermission.contains(loadLabelVal)) {
groupPermission.add(loadLabelVal);
}
}
}
return groupPermission;
}
Run Code Online (Sandbox Code Playgroud)
这里 te 函数的输入是一个权限数组列表,需要找到相应的组。我将 pm.getPermissionGroupInfo(entry,0) 设为 null。我不知道是什么错误。请纠正我。
提前致谢。