Worauf man beim neuen Android-Berechtigungsmodell achten muss

Berechtigungen in Android M
Kommentare

Bisher galt beim Berechtigungsmodell in Android: Alles oder Nichts. Mit Android M, dessen Release für den Herbst geplant ist, soll sich das nun ändern, denn Marshmallow – so der offizielle Name der neuen Version – kommt mit einem neuen Berechtigungsmodell daher. Es erlaubt Usern vor allem, Apps Berechtigungen zu verweigern, ohne auf ihre Nutzung verzichten zu müssen.

Bisher mussten Nutzern jede Berechtigung einer Applikation bei deren Installation annehmen, um die App auch tatsächlich nutzen zu können. Verweigerte man die Freigabe der Berechtigung, musste man auch automatisch auf die Installation der App verzichten. Paul Trebilcox-Ruiz zeigt, was es mit dem neuen Android-M-Berechtigungsmodell auf sich hat und wie es Einfluss auf Entwickler und die User Experience einer App nimmt.

Event-Flow beim Berechtigungsmodell in Android M

Erst seit kurzem steht der Name der neuen Android-Version fest: Marshmallow soll sie heißen. Gleichzeitig mit dem Namen wurde auch die finale Developer-Preview sowie das offizielle Android 6.0 SDK veröffentlicht, die nochmal einige Neuerungen mit sich brachte – unter anderem eben das besagte neue Berechtigungsmodell, das für einen einfacheren Installationsprozess sorgen soll.

Stellen Sie Ihre Fragen zu diesen oder anderen Themen unseren entwickler.de-Lesern oder beantworten Sie Fragen der anderen Leser.

Es soll Usern insbesondere ermöglichen, Berechtigungen bei Runtime zu bestätigen oder zu verweigern. Für Entwickler bedeutet das natürlich einige Umstellungen. So sind android.permission.INTERNET und android.permission.WRITE_EXTERNAL_STORAGE nun als „normal“ gerated und erfordern nicht länger, dass der User zu einer Bestätigung jeder einzelnen Berechtigung aufgefordert wird. Stattdessen werden nun ganze Berechtigungsgruppen abgefragt.

Wann immer ein Feature verwendet wird, das eine bestimmte Berechtigung erfordert, spielt sich ein genereller Event-Flow ab, bei dem zunächst überprüft werden muss, ob die Berechtigung in der Vergangenheit bereits vom User bestätigt wurde. Ist das nicht der Fall, kann ihm ein Berechtigungs-Request-Dialog präsentiert werden, der sich wie im folgenden Bild dargestellt visualisieren lässt:

App-Berechtigungsmodell Android M

App-Berechtigungsabfrage Android, Quelle: Understanding Permissions in Android M

Wie man bei der Abfrage der benötigten Berechtigungen vorgehen sollte, zeigt Trebilcox-Ruiz anhand von Code-Beispielen im oben genannten Artikel. Als Best Practice gilt dabei, nur Berechtigungen anzufordern, wenn sie wirklich benötigt werden, anstatt schon beim Start der Applikation sämtliche Permissions abzufragen.

Berechtigungen bei Legacy-Apps unter Android M

Applikationen, die für die neue Android-Version Android M erstellt werden, müssen dabei bereits das neue Berechtigungsmodell nutzen, um den Installationsprozess für den User zu vereinfachen. Bei Legacy-Apps, die für ältere Android-Versionen erstellt wurden, ist das jedoch nicht der Fall. Stattdessen wird dem User bei der Installation wie bisher eine Berechtigungsliste präsentiert; allerdings können User auch nach der ursprünglichen Annahme einer Berechtigung später einzelne Permissions widerrufen.

In Android M ist allerdings keine entsprechende Infrastruktur für die Handhabung von widerrufenen Berechtigungen in Applikationen, die für frühere Versionen erstellt wurden, verfügbar. Da es dadurch zu unerwartetem Verhalten in den Apps kommen kann, sollten Entwickler ihre Apps so bald wie möglich upgraden, um das neue Android-M-Berechtigungsmodell zu unterstützen.

Aufmacherbild: double traffic-light isolated on white von Shutterstock / Urheberrecht: Chezlov

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -