2015-08-22 8 views
5

Czy w systemie Android sdk są dostępne informacje umożliwiające uzyskanie konkretnego pozwolenia? Podobnie jak w Google Play, za każdym razem, gdy klikniesz na pozwolenie, możesz przeczytać, co robi to uprawnienie. Mam tę funkcję powrotu do mnie szczególne uprawnienia dla aplikacjiUzyskaj szczegółowe informacje dotyczące uprawnień

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

przez ten kod im uzyskiwanie uprawnień tylko nazwy, ale zastanawiam się, czy istnieje taki API, które zwracają uprawnienia i ich szczegóły.

+1

To może odpowiedzieć na pytanie: http://stackoverflow.com/questions/13523859/how-to-get-the-protection-level-for-each-each-permission –

+0

@ Markusz Marvell nope, który nie pomógł. To powie ci tylko poziom uprawnień – k0sh

+1

jako etykietę, opis, ikonę itd., Czyli wszystko, co możesz pobrać z klasy PermissionInfo. http://developer.android.com/reference/android/content/pm/PermissionInfo.html –

Odpowiedz

0

odpowiedzieć na moje pytanie, PermissionInfo jest rzeczywiście prawo class, aby uzyskać opis każdej android permission na przykład:

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

powyższej metody powróci PermissionInfo instancji, czy może to zanalizować nazwę permission podany do niego i po prostu możesz zadzwonić pod numer loadDescription, aby załadować opis w postaci permission.

Powiązane problemy