2016-07-28 10 views
0

権限名からContacts、Storageなどの権限グループ名を見つける必要があります。私はここで、次のコード権限グループ名を許可から取得します。名前Android

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

TE関数への入力を有し、対応するグループが発見される必要があるの権限のArrayListのです。 pm.getPermissionGroupInfo(エントリ、0)をnullとして取得しています。 私は間違いが何であるか知りません。 Plsは私を修正します。

ありがとうございます。

答えて

1

あなたは

PackageManager packageManager = getApplicationContext().getPackageManager(); 
PermissionInfo permissionInfo = packageManager.getPermissionInfo(Manifest.permission.ACCESS_FINE_LOCATION, 0); 
PermissionGroupInfo permissionGroupInfo = packageManager.getPermissionGroupInfo(permissionInfo.group, 0); 
Log.w("11_APP", ""+permissionGroupInfo.loadLabel(packageManager)); 
を使用することができ、たとえば、「短い名前を」取得「 場所」へ
関連する問題