2016-08-09 9 views
-1

Die Anwendung, die ich mache, nimmt einen der beiden Ansätze A und B. Sobald der Benutzer die Anwendung startet, bittet er um Erlaubnis, ihren Standort zu verwenden. Wenn der Benutzer die Berechtigung erteilt, nimmt er Ansatz A. Wenn der Benutzer keine Berechtigung erteilt, wird Ansatz B verwendet. Sie müssen die Ausführung fortsetzen, nachdem Sie auf den Rückruf gewartet haben, aber ich kann dies nicht tun, da ich auf der Grundlage der Benutzerantwort eine Auswahl treffen muss Also muss ich warten.Wie kann man darauf warten, dass der Benutzer Berechtigungen in Android erteilt?

Allerdings wurde mir gesagt, Sie können nicht wirklich warten für die Benutzeraktion. Ist das wahr?

Zum Schluss hat mir jemand gesagt, ich solle nach den Berechtigungen fragen und während des Wartens den Ansatz starten, in dem wir keine Berechtigungen haben. Wenn Sie dies jedoch versuchen, wird das Layout angezeigt und die Anwendung wartet darauf, dass der Benutzer auf Schaltflächen klickt, die im Wesentlichen den Popup-Dialog für die Berechtigung blockieren. Ich weiß das, weil jedes Mal, wenn ich auf einen der Knöpfe klicke, der Erlaubnisdialog erscheint. Dies bedeutet, dass der Benutzer bereits bestätigt hat, dass er den Ansatz verwendet, der seinen Standort nicht verwendet.

Was ist mein Fehler? oder was kann ich tun, um auf die Benutzerantwort zu warten?

GELÖST ich eine neue Tätigkeit geschaffen, in dem ich die ganze Erlaubnis tun anfordert und den Rückruf in deklarieren. Das Warten durch Nichtstun peformed ist, hat buchstäblich nichts, was die Aktivität nur die Methode gerade beendet, und wenn der Rückruf für die Berechtigungen heißen Ich wechsele Aktivität.

+0

*, was ich kann auf die Benutzeraktion warten * nichts. Sie müssen die onRequestPermissionsResult-Methode verwenden und sie dort behandeln –

+0

Haben Sie gelesen, was ich überhaupt geschrieben habe? –

+0

Hast du es selbst gelesen? Sie haben 2 Fragen gestellt, die im Wesentlichen die gleichen sind, und die Antwort ist, dass Sie es ** nicht ** tun können. Wenn deine App auf der Annahme basiert, dass du es kannst, musst du sie neu gestalten. –

Antwort

-1

Sie können nicht auf die Antwort warten. Sie müssen asynchron damit umgehen. Es liegt an Ihnen, Ihre Benutzeroberfläche entsprechend zu gestalten.

Dieser Vortrag den Hintergrund Android Sicherheit und die neue Berechtigungen Architektur erklären helfen: http://po.st/0IorQW

Zusätzlich diese Berechtigungen Helfer Bibliothek macht den Umgang mit ihr und den empfohlenen UX-Richtlinien einfacher: https://github.com/hiqes/andele

Verwandte Themen