Meine App verwendet "gefährliche" Berechtigungen wie READ_CONTACTS
, unter anderem. Alle Beispiele, die ich gesehen habe, um dieses neue Modell zu unterstützen, verwenden Klassen, die von AppCompatActivity
abgeleitet sind. Muss ich wirklich meine Aktivitäten dieser Unterklasse Activity in jetzt Unterklasse AppCompatActivity
ändern? Gibt es eine alternative Möglichkeit, dies zu tun, während Sie weiterhin Aktivitäten nutzen? Wenn ich diese Änderung mache, stürzt meine App ab.AppCompatActivity und Marshmallow Permissions
Antwort
Muss ich wirklich meine Aktivitäten ändern, die in der Unterklasse Aktivität AppCompatActivity enthalten?
Nr
Gibt es eine alternative Möglichkeit, diese während noch Aktivitäten mit zu tun?
Es ist der gleiche Weg. Es gibt nichts in AppCompatActivity
, das mit Laufzeitberechtigungen zu tun hat. Egal, ob Sie erben von Activity
, AppCompatActivity
oder PhilodendronActivity
Sie:
Anruf
checkSelfPermission()
(auf derContext
oder diestatic
Ausgabe aufContextCompat
), um zu sehen, wenn Sie die ErlaubnisAnruf
requestPermissions()
(auf halten IhreActivity
oder diestatic
Ausgabe aufActivityCompat
), um die Berechtigungen vom Benutzeranzufordern Implementieren
onRequestPermissionsResult()
auf IhrenActivity
das Ergebnis desrequestPermissions()
Aufrufs zum Beispiel
Also, um keine dieser Beispielanwendungen verwendet AppCompatActivity
:
Ein app es nur
Laufzeitberechtigungen zu erkundenDie results des Abschluss eines praktischen Tutorials zum Experimentieren mit Hinzufügen von Laufzeitberechtigungen
Two apps, die V2-Berechtigungen Laufzeit zeigen, als Teil der Einrichtung Play Services' fusionierten Standortanbieter
Ein app, die einrichtet Laufzeitberechtigungen für Karten anfordernden verwenden
Vielen Dank, ich werde kurz nachsehen. Ist es am besten, alle Berechtigungen gleichzeitig zu beantragen, oder einzeln, je nach Benutzeraktion? Read contacts ist am Anfang erforderlich, aber das Schreiben von externem Speicher ist möglicherweise nie erforderlich, wenn der Benutzer keine Aktion ausführt, die dies erfordert? –
@PhilO: Normalerweise warten Sie auf die Berechtigung bis zur Benutzeraktion, so dass Sie so wenige Berechtigungen wie möglich anfordern. Wenn die Berechtigung für den Benutzer im Kontext der Benutzeraktion nicht sinnvoll ist und Sie denken, dass eine Art "willkommener" Onboarding-Aktivität und die Frage nach der Berechtigung im Voraus für den Benutzer reibungslos ablaufen können, ist das zumutbar. – CommonsWare
Vielen Dank. –
Können Sie Ihren Fehler hier posten. ? –
http://stackoverflow.com/questions/33666071/android-marshmallow-request-permission/34722591#34722591 Ich erkläre einfach ..... –
Ich erkläre einfach bei Below Link. http://stackoverflow.com/questions/33666071/android-marshmallow-request-permission/34722591#34722591 –