Die Android M Preview docs zeigt uns, wie Berechtigungen mit dem neuen Berechtigungsmodell überprüft und angefordert werden. In der folgenden Tabelle wird eine Gruppe von Berechtigungsgruppen und die zugehörigen Berechtigungen angezeigt.Android M fordert Berechtigungen mit Berechtigungsgruppen an
Als ich zu checkSelfPermission
mit einem permission_group
(dh Manifest.permission_group.CAMERA
) beim ersten Start versuchen, vorhersagbar bekomme ich PackageManager.PERMISSION_DENIED
.
Dann versuchen Sie requestPermissions
für die gleiche permission_group
und ich bekomme keine Art von Dialog zu Pop-up. 'onRequestPermissionsResult' kehrt sofort mit -1
zurück.
Wenn ich die gleiche Sequenz mit Manifest.permission.Camera
versuche - Dinge scheinen wie normal zu funktionieren. Aber für eine einfache App, die ich mache, muss ich Video mit Audio aufzeichnen, und die beiden separaten Berechtigungen, CAMERA
und MICROPHONE
(aka RECORD_AUDIO
) fordert, scheint wie schlechtes Design.
Die Frage: Ist checkSelfPermission
und requestPermission
mit Manifest.permission.*
und Manifest.permission_group.*
funktionieren soll, aber es ist ein Fehler, dass ich da es zeigen nicht Antrag stellen sollte? Oder war das Absichtsdesign?
* Hinweis - Ich verstehe, dass ich ein requestPermissions(String[], int)
String-Array mit mehreren Berechtigungen in es selbst erstellen kann, aber ID noch viel if
Anweisungen zu überprüfen, die Kombinationen von Berechtigungen, die ich brauche und sie als Gruppe anfordern, wenn ich sollte brauchen nur einen permission_group
war nicht bewusst über die checkSelf-Schichtung über die älteren API-Methoden, das ist gut zu wissen. Ich könnte einfach versuchen, ein Hilfsprogramm zu machen, das Menschen erlaubt, in permission_groups zu übergeben und zu sehen, ob es für mich Sinn macht, und möglicherweise andere :) danke für die Antwort cw – trippedout
aber dann, was ist die bekannte Verwendung von 'Manifest.permission_group. Klasse? –
@HendraAnggrian: Zum Beispiel könnten Sie es mit ['getPermissionGroupInfo()' auf 'PackageManager'] verwenden (https://developer.android.com/reference/android/content/pm/PackageManager.html#getPermissionGroupInfo (java. lang.String,% 20int)). – CommonsWare