Grundlegendes zu Berechtigungen in Android M.

Einführung

Vor Version M war das Android-Berechtigungsmodell bei der Installation eine Alles-oder-Nichts-Entscheidung für Benutzer. Dies bedeutete, dass ein Benutzer, wenn er eine App verwenden wollte, zuerst alle in der App enthaltenen Berechtigungen akzeptieren oder sich dafür entscheiden musste, sie überhaupt nicht zu installieren. Dies hat dazu geführt, dass viele Entwickler App-Installationen verloren haben, das Vertrauen zwischen Benutzern und Entwicklern getrennt wurde und andere. Vertraulichkeitsprobleme.

Dialogfeld

Mit dem neuen Berechtigungsmodell können Benutzer Berechtigungen zur Laufzeit basierend auf ihren Anforderungen genehmigen und diese Berechtigungen jederzeit verweigern. In diesem Artikel erfahren Sie, wie sich diese Änderung der Verwaltungsberechtigungen auf Sie als Entwickler auswirkt und wie Ihre Benutzer Ihre Apps erleben.

Es ist zu beachten, dass dieser Artikel vor der offiziellen Veröffentlichung von Android M verfasst wurde, sodass sich einige Informationen mit der offiziellen Version ändern können.

1. Was erfordert Berechtigungen?

Während für Android M weiterhin Berechtigungen deklariert werden müssen AndroidManifest.xmlBenutzer müssen jetzt die Verwendung dieser Berechtigung zur Laufzeit genehmigen oder verweigern. Eine wichtige Änderung in der neuen Version von Android ist die android.permission.INTERNET und android.permission.WRITE_EXTERNAL_STORAGE wurden durch eine Notiz von herabgestuft gefährlich beim gewöhnliche. Dies bedeutet, dass Sie den Benutzer vor der Verwendung nicht auffordern müssen.

Wenn Sie eine Berechtigungsgenehmigung anfordern, wird der Benutzer basierend auf der Berechtigungsgruppe aufgefordert, anstatt jede Berechtigung in einer Gruppe zu genehmigen. Dies bedeutet, dass Ihr Benutzer nur aufgefordert wird, die SMS-Berechtigungsgruppe zu genehmigen, wenn Ihre App SMS-Nachrichten senden und empfangen muss. Unten finden Sie eine Liste der Berechtigungsgruppen, die derzeit in Android M Developer Preview 2 unterstützt werden (siehe Systemeinstellungen).

Liste der derzeit unterstützten Berechtigungsgruppen

Es sollte auch beachtet werden, dass Android eine robuste hat Intent System, mit dem Entwickler Daten von anderen Anwendungen anfordern können. Anstatt um Erlaubnis zur Kamera zu bitten und eine App zu entwickeln, die die Kamera-APIs von Grund auf verwendet, können Sie den Benutzer bitten, ein Foto mit einer bereits genehmigten Kamera-App aufzunehmen. um ein Bild in Ihrer Anwendung zu erhalten. Die Berechtigungen für die Kamera werden von der Kameraanwendung verwaltet.

2. Wie kann ich um Erlaubnis bitten?

Wenn Sie eine Funktion verwenden müssen, für die eine Berechtigung erforderlich ist, tritt ein allgemeiner Ereignisfluss auf. Zuerst müssen Sie prüfen, ob diese Berechtigung bereits von Ihrem Benutzer genehmigt wurde.

Wenn der Benutzer die Berechtigung nicht genehmigt hat, können Sie dem Benutzer einen Berechtigungsanforderungsdialog anzeigen. Wenn Sie dies dem Benutzer zum ersten Mal präsentieren, muss er die Berechtigung entweder verweigern oder genehmigen.

Wenn sie jedoch zuvor die Berechtigung verweigert haben und erneut angefordert werden, haben sie die Möglichkeit, diese Berechtigung nie wieder anfordern zu müssen.

verbunden :  So greifen Sie auf Googles integrierte Wasserwaage unter Android zu
Flussdiagramm der Autorisierungsanfragen

Sie können überprüfen, ob bereits eine Autorisierung erteilt wurde, indem Sie anrufen checkSelfPermission bevor Sie eine Funktion verwenden, für die diese Berechtigung erforderlich ist. Diese Methode gibt a zurück int Wert basierend darauf, ob die Erlaubnis erteilt wurde oder nicht.

Wenn es gleich ist PackageManager.PERMISSION_GRANTEDDann können Sie wie geplant fortfahren. Wenn diese Berechtigung jedoch zuvor nicht erteilt wurde, können Sie sie mit anfordern requestPermissionsÜbergeben eines Arrays von Autorisierungszeichenfolgen und a int Anforderungscode, um dem logischen Ablauf Ihrer Anwendung zu folgen.

Einmal requestPermissions Wenn es aufgerufen wird, erhält der Benutzer einen Anforderungsdialog für jede Berechtigungsgruppe, für die Ihre App eine Berechtigung anfordert. Es wird empfohlen, dass Sie Berechtigungen nur bei Bedarf anfordern und nicht in großen Mengen, wenn Ihr Benutzer Ihre App zum ersten Mal startet.

Dialoganfrage auf Android M.

Wenn Ihr Benutzer mit den Dialogen fertig ist, onRequestPermissionsResult wird in Ihrem aufgerufen und zugänglich Activity. Hier starten Sie Ihre Funktion oder behandeln die Situation, in der Ihr Benutzer eine oder mehrere Berechtigungen verweigert hat.

Ein Beispiel für die Überprüfung, ob eine Berechtigung erteilt oder verweigert wurde, finden Sie unten. Wenn der Benutzer die erforderlichen Berechtigungen für Ihre Funktion verweigert hat, sollten Sie diese Funktion deaktivieren und dem Benutzer mitteilen, warum sie in Ihrer App nicht funktioniert.

3. Alte Apps auf Android M.

Während für Android M entwickelte Apps die neuen Berechtigungsdialoge und -methoden implementieren sollten, werden Apps, die für frühere Android-Versionen erstellt wurden, den Benutzern bei der Installation weiterhin eine Liste der Berechtigungen anzeigen. Obwohl Berechtigungen akzeptiert werden, bevor Benutzer Ihre App verwenden können, können sie jederzeit widerrufen werden.

Da die widerrufene Berechtigungsverwaltungsinfrastruktur in Apps für weniger als Android M nicht verfügbar ist, werden alle Funktionen zurückgegeben, für die Berechtigungen erforderlich gewesen wären. null, oder ein leerer Wert, wenn keine Berechtigungen erteilt wurden. Dies kann zu unerwartetem Verhalten in Apps führen. Daher wird Entwicklern empfohlen, sich auf ein Upgrade ihrer Apps vorzubereiten, um das neue Android M-Autorisierungsmodell so schnell wie möglich zu unterstützen.

Fazit

In diesem Artikel haben Sie mehr über das neue Android M-Berechtigungsmodell und die Unterstützung aktualisierter Berechtigungen in Ihren Apps erfahren. Wir haben auch erklärt, wie die Apps auf die neue Version von Android reagieren, wenn sie für die vorherigen Versionen erstellt wurden. Mit diesen Informationen sollten Sie in der Lage sein, Ihre Apps auf die offizielle Veröffentlichung des nächsten Android-Updates vorzubereiten.

Moyens Staff
Moyens I/O-Personal. motivierte Sie und gab Ratschläge zu Technologie, persönlicher Entwicklung, Lebensstil und Strategien, die Ihnen helfen werden.