2016-04-05 5 views
0

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

+1

Können Sie Ihren Fehler hier posten. ? –

+0

http://stackoverflow.com/questions/33666071/android-marshmallow-request-permission/34722591#34722591 Ich erkläre einfach ..... –

+0

Ich erkläre einfach bei Below Link. http://stackoverflow.com/questions/33666071/android-marshmallow-request-permission/34722591#34722591 –

Antwort

3

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 der Context oder die static Ausgabe auf ContextCompat), um zu sehen, wenn Sie die Erlaubnis

  • Anruf requestPermissions() (auf halten Ihre Activity oder die static Ausgabe auf ActivityCompat), um die Berechtigungen vom Benutzer

  • anzufordern Implementieren onRequestPermissionsResult() auf Ihren Activity das Ergebnis des requestPermissions() Aufrufs zum Beispiel

Also, um keine dieser Beispielanwendungen verwendet AppCompatActivity:

  • Ein app es nur

    Laufzeitberechtigungen zu erkunden
  • Die 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

+0

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? –

+0

@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

+0

Vielen Dank. –