Berechtigungen unter Wear OS anfordern

Das Anfordern von Berechtigungen unter Wear OS ähnelt dem Anfordern von Berechtigungen in mobilen Apps, mit einigen zusätzlichen Anwendungsfällen. In diesem Dokument wird davon ausgegangen, dass Sie wissen, wie Android-Berechtigungen funktionieren. Ist das nicht der Fall, lesen Sie nach, wie Berechtigungen unter Android funktionieren.

Genau wie bei einer mobilen App muss der Nutzer einer Wear-App Berechtigungen erteilen, um auf bestimmte Funktionen zugreifen zu können. Bieten Sie in Ihren Wear-Apps aussagekräftige Funktionen an, ohne Berechtigungen anzufordern.

Berechtigungsszenarien

Beim Anfordern gefährlicher Berechtigungen unter Wear OS können verschiedene Szenarien auftreten:

  • Die Wear-App fordert Berechtigungen für eine App an, die auf dem Wearable-Gerät ausgeführt wird.

  • Die Wear-App fordert Berechtigungen für eine App an, die auf dem Smartphone ausgeführt wird.

  • Die Telefon-App fordert Berechtigungen für eine App an, die auf dem Wearable-Gerät ausgeführt wird.

  • Die Telefon-App fordert mehrere Berechtigungen an, die nur verwendet werden können, wenn das Wearable-Gerät verbunden ist.

Wenn Sie alle diese Szenarien in einer funktionierenden Anwendung sehen möchten, sehen Sie sich das Beispiel ExcersizeSampleCompose auf GitHub an.

In den folgenden Abschnitten werden diese Szenarien erläutert. Weitere Informationen zum Anfordern von Berechtigungen finden Sie im Abschnitt Berechtigungsanfragemuster.

Wear App fordert Wearable-Berechtigung an

Wenn die Wear-App eine Berechtigung für eine App anfordert, die auf dem Wearable-Gerät ausgeführt wird, zeigt das System ein Dialogfeld an, in dem der Nutzer um diese Berechtigung gebeten wird. Fordern Sie in Ihrer Anwendung nur dann Berechtigungen an, wenn dem Nutzer klar ist, warum die Berechtigungen zum Ausführen eines bestimmten Vorgangs erforderlich sind.

Lesen Sie sich die Berechtigungsprinzipien durch, damit Sie Ihren Nutzern die bestmögliche Erfahrung bieten können. Prüfen Sie shouldShowRequestPermissionRationale() und stellen Sie bei Bedarf weitere Informationen bereit.

Wenn für eine App oder ein Zifferblatt mehrere Berechtigungen gleichzeitig erforderlich sind, werden Berechtigungsanfragen nacheinander angezeigt.

Mehrere Berechtigungsbildschirme, einer nach dem anderen
Abbildung 1. Berechtigungsbildschirme werden nacheinander angezeigt.

Wear App fordert Smartphone-Berechtigung an

Wenn die Wear-App eine Berechtigung für ein Smartphone anfordert, z. B. wenn eine Wearable-App in der mobilen Version der App Zugriff auf Fotos oder andere sensible Daten anfordert, muss der Nutzer von der Wear-App an das Smartphone gesendet werden, um die Berechtigung zu akzeptieren. Dort kann die Telefon-App dem Nutzer mithilfe einer Aktivität zusätzliche Informationen bereitstellen. Die Aktivität enthält zwei Schaltflächen: eine zum Gewähren der Berechtigung und eine zum Ablehnen der Berechtigung.

Die Wear App leitet den Nutzer an das Smartphone weiter, um die Berechtigung zu erteilen.
Abbildung 2: Bitten Sie den Nutzer an das Smartphone, die Berechtigung zu erteilen.

Telefon-App fordert Wearable-Berechtigung an

Wenn der Nutzer eine Telefon-App verwendet und die App eine Wearable-Berechtigung benötigt, z. B. um Musik vorab zu laden, wenn die Verbindung zum Smartphone getrennt wird, leitet die Telefon-App den Nutzer an das Wearable-Gerät weiter, um die Berechtigung zu akzeptieren. Die Wearable-Version der App verwendet die Methode requestPermissions(), um das Dialogfeld für Systemberechtigungen aufzurufen.

Die Telefon-App leitet den Nutzer an das Wearable weiter, um die Berechtigung zu erteilen.
Abbildung 3: Leite den Nutzer an das Wearable weiter, damit er die Berechtigung dazu erteilen kann.

Die Telefon App fordert mehrere Berechtigungen gleichzeitig an

Abbildung 4: Ein Berechtigungsdialogfeld, in dem über ein Companion-Geräteprofil mehrere Berechtigungen in einer einzigen Anfrage angefordert werden.

Partner-Apps auf Geräten mit Android 12 (API-Level 31) und höher können Profile von Companion-Geräten verwenden, um eine Verbindung zu einer Smartwatch herzustellen. Die Verwendung eines Profils vereinfacht den Registrierungsprozess, da die Gewährung eines gerätetypspezifischen Satzes von Berechtigungen in einem Schritt gebündelt wird.

Die gebündelten Berechtigungen werden der Companion-App gewährt, sobald eine Verbindung mit dem Gerät hergestellt wird, und gelten nur so lange, wie das Gerät verknüpft ist. Wenn Sie die App löschen oder die Verknüpfung entfernen, werden die Berechtigungen entfernt. Weitere Informationen finden Sie unter AssociationRequest.Builder.setDeviceProfile().

Berechtigungsanfragemuster

Es gibt verschiedene Muster für die Anforderung von Berechtigungen von Nutzern. In der Reihenfolge ihrer Priorität sind sie:

  • Fragen Sie im Kontext, wenn die Berechtigung offensichtlich für eine bestimmte Funktionalität, aber nicht für die Ausführung der gesamten Anwendung erforderlich ist.

  • Informiere die Nutzer im Kontext, wenn der Grund für die Anforderung der Berechtigung nicht offensichtlich ist und die Berechtigung für die Ausführung der gesamten App nicht erforderlich ist.

Diese Muster werden in den folgenden Abschnitten erläutert.

Frage im Kontext stellen

Fordern Sie Berechtigungen an, wenn dem Nutzer klar ist, warum die Berechtigung zum Ausführen eines bestimmten Vorgangs erforderlich ist. Die Wahrscheinlichkeit, dass Nutzer eine Berechtigung erteilen, ist größer, wenn sie ihre Verbindung zu der Funktion kennen, die sie verwenden möchten.

Beispielsweise kann eine App den Standort des Nutzers anfordern, um POIs in der Nähe anzuzeigen. Wenn der Nutzer auf Orte in der Nähe tippt, kann die App sofort die Berechtigung zur Standortermittlung anfordern, da ein klarer Zusammenhang zwischen der Suche nach Orten in der Nähe und der Notwendigkeit der Berechtigung zur Standortermittlung besteht. Da diese Beziehung offensichtlich ist, muss die App keine weiteren Bildschirme anzeigen.

Die App fordert dann eine Berechtigung an, wenn dies unbedingt erforderlich ist.
Abbildung 5. Frage im Kontext um Erlaubnis.

Im Kontext informieren

Abbildung 6 zeigt ein Beispiel für kontextbezogene Bildung. Die App benötigt zum Starten des Timers keine Berechtigungen, aber ein Inline-Hinweis zeigt an, dass der Teil der Aktivität – die Standorterkennung – gesperrt ist. Wenn der Nutzer auf den Cue tippt, wird ein Bildschirm mit einer Berechtigungsanfrage angezeigt, über den er die Standorterkennung entsperren kann.

Nutze die Methode shouldShowRequestPermissionRationale(), um deiner App die Entscheidung zu erleichtern, ob weitere Informationen angegeben werden müssen. Weitere Informationen finden Sie unter Anwendungsberechtigungen anfordern. Alternativ können Sie untersuchen, wie die Sprecherbeispielanwendung auf GitHub mit Informationen zum Anzeigen von Informationen umgeht.

Wenn eine Berechtigung erforderlich ist, erklärt die App, warum sie notwendig ist.
Abbildung 6. Informieren Sie im Kontext.

Umgang mit Ablehnung

Wenn der Nutzer eine angeforderte Berechtigung ablehnt, die für eine bestimmte Aktivität nicht kritisch ist, solltest du ihn nicht daran hindern, die Aktivität fortzusetzen. Wenn bestimmte Teile der Aktivität durch die verweigerte Berechtigung deaktiviert werden, geben Sie visuelles, umsetzbares Feedback.

Abbildung 7 zeigt die Verwendung eines Schloss-Symbols, um anzuzeigen, dass ein Feature gesperrt ist, weil der Nutzer keine Berechtigung zu dessen Verwendung gewährt hat.

Lehnt der Nutzer die Berechtigung ab, wird neben der entsprechenden Funktion ein Schloss-Symbol angezeigt.
Abbildung 7. Schlosssymbol, das anzeigt, dass eine Funktion aufgrund einer verweigerten Berechtigung gesperrt ist.

Wenn ein zuvor abgelehntes Dialogfeld für eine Wearable-Berechtigung ein zweites Mal angezeigt wird, enthält es die Option Ablehnen, nicht mehr anzeigen. Wenn der Nutzer diese Option auswählt, kann er diese Berechtigung in Zukunft nur noch über die Einstellungen des Wearables erteilen.

Das System bietet an, keine Berechtigung mehr anzufordern.
Abbildung 8. Der Nutzer kann über die Einstellungen auf eine Berechtigungsanfrage zugreifen, die zuvor zweimal abgelehnt wurde.

Weitere Informationen zum Umgang mit der Ablehnung von Berechtigungen

Berechtigungen für Dienste

Nur eine Aktivität kann die Methode requestPermissions() aufrufen. Wenn der Nutzer also über einen Dienst mit deiner App interagiert, z. B. über ein Zifferblatt, muss der Dienst eine Aktivität öffnen, bevor er die Berechtigung anfordert. Erläutern Sie in dieser Aktivität, warum die Genehmigung erforderlich ist.

Fordere im Allgemeinen keine Berechtigungen für ein Zifferblatt an. Implementieren Sie stattdessen eine Zusatzfunktion, damit der Nutzer auswählen kann, welche Daten über die Zusatzfunktion angezeigt werden sollen.

Einstellungen

Nutzer können die Berechtigungen für eine Wear-App jederzeit in den Einstellungen ändern. Wenn der Nutzer versucht, etwas zu tun, für das eine Berechtigung erforderlich ist, rufen Sie zuerst die Methode checkSelfPermission() auf, um zu prüfen, ob die App die Berechtigung zum Ausführen des Vorgangs hat.

Führe diese Prüfung auch dann durch, wenn der Nutzer die Berechtigung zuvor gewährt hat, da er sie möglicherweise später widerrufen hat.

Der Nutzer kann die Berechtigungen über die App „Einstellungen“ ändern.
Abbildung 9. Der Nutzer kann die Berechtigungen über die App „Einstellungen“ ändern.