2015-08-22 3 views
5

Gibt es überhaupt in Androiden sdk, wo sie eine Information für spezifische Erlaubnis zur Verfügung stellen? Wie bei Google Play, wenn Sie auf eine Berechtigung klicken, können Sie lesen, was diese Berechtigung tut. Ich habe diese Funktion mich zurück bestimmte Berechtigungen für eine AnwendungErhalte die Erlaubnisdetails programmatisch

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

Durch diesen Code im nur Erlaubnis Namen bekommen, aber ich frage mich, ob es eine solche api ist, die Berechtigungen und deren Details zurück.

+1

Das kann die Frage beantworten: http://stackoverflow.com/questions/13523859/how-to-get-the-protection-level-for-e-ach-permission –

+0

@Markus Marvell nein, das hat nicht geholfen. Das sagt Ihnen nur die Berechtigungsstufe – k0sh

+1

wie Etikett, Beschreibung, Symbol usw., d. H. Alles, was Sie von der PermissionInfo-Klasse nehmen können. http://developer.android.com/reference/android/content/pm/PermissionInfo.html –

Antwort

0

meine Frage zu beantworten, PermissionInfo tatsächlich die richtige class ist eine Beschreibung über jede android permission zum Beispiel zu bekommen:

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

obige Verfahren wird PermissionInfo Instanz zurück, wenn sie den permission Namen gegeben analysieren könnte, und dann könnten Sie einfach loadDescription anrufen, um die permission Beschreibung zu laden.