0

Das Android OS 6-Laufzeitberechtigungsmodell erfordert die Implementierung der Rückrufmethode "onRequestPermissionsResult (....)" in der Aktivität.Android (OS6) Laufzeitberechtigungen Callback-Thread für "onRequestPermissionsResult"

1) Initiiert das Betriebssystem diesen Rückruf immer auf dem UI-Thread?

2) Ist es möglich, programmgesteuert den Thread auszuwählen, auf dem der Rückruf stattfinden wird (z. B. ein dynamisch generierter Hintergrundthread)?

Kann jemand etwas Licht darauf werfen? Thnx.

Antwort

1

Initiiert das Betriebssystem diesen Rückruf immer auf dem UI-Thread?

Ja.

Ist es möglich, den Thread, auf dem der Rückruf stattfinden wird, programmgesteuert auszuwählen (z. B. einen dynamisch generierten Hintergrundthread)?

Nein, obwohl Sie willkommen sind, etwas in onRequestPermissionResult() zu tun, einen Hintergrund-Thread zu beeinflussen (zum Beispiel nach einem Ereignisse Bus-Ereignis, einen Job auf der Arbeit Warteschlange Testamentsvollstrecker).

+0

Thnx für die schnelle Antwort. Ich dachte auch, dass der Rückruf auf dem UIhread passiert, aber ich stieß auf diese Bibliothek, die schlägt vor, dass Benutzer den vom Rückruf verwendeten Thread wählen kann: https://github.com/Karumi/Dexter - in der Abschnitt "Umgang mit Listener-Threads" –

+0

@OkeUwechue: Das wird irgendwo in der Bibliothek behandelt. – CommonsWare

0

Dies muss auf dem UI-Thread getan werden, der natürlich ist. Hintergrundthreads können mehrere sein und sie werden für Aufgaben verwendet, die die Benutzeroberfläche nicht blockieren. Der Zweck der Laufzeitberechtigungen ist genau das. Um die Benutzeroberfläche zu blockieren und auf die Aktion des Benutzers zu warten.

+0

Thnx für die schnelle Antwort. Pls. Siehe auch obigen Kommentar zu @CommonsWare –

Verwandte Themen