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 mit den Android-Berechtigungen vertraut sind. Falls nicht, lesen Sie den Hilfeartikel Berechtigungen unter Android.

Genau wie bei einer mobilen App muss der Nutzer einer Wear-App Berechtigungen für den Zugriff auf bestimmte Funktionen gewähren. Bieten Sie in Ihren Wear-Apps sinnvolle Funktionen, ohne Berechtigungen anzufordern.

Berechtigungsszenarien

Es gibt mehrere Szenarien, die beim Anfordern von gefährlichen Berechtigungen unter Wear OS auftreten können:

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

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

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

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

Alle diese Szenarien in einer funktionierenden App finden Sie im Beispiel ExcersizeSampleCompose auf GitHub.

In den folgenden Abschnitten werden die einzelnen Szenarien erläutert. Weitere Informationen zum Anfordern von Berechtigungen finden Sie im Abschnitt Muster für Berechtigungsanfragen.

Wear-App fordert Berechtigung für Wearables an

Wenn die Wear OS-App eine Berechtigung für eine App anfordert, die auf dem Wearable ausgeführt wird, wird ein Dialogfeld angezeigt, in dem der Nutzer aufgefordert wird, diese Berechtigung zu erteilen. Fordern Sie in Ihrer App nur dann Berechtigungen an, wenn für den Nutzer klar ist, warum die Berechtigungen für die Ausführung eines bestimmten Vorgangs erforderlich sind.

Lesen Sie die Grundsätze für Berechtigungen, um Ihren Nutzern die bestmögliche Nutzung zu ermöglichen. Denken Sie daran, shouldShowRequestPermissionRationale() zu prüfen und bei Bedarf zusätzliche Informationen anzugeben.

Wenn für eine App oder ein Zifferblatt mehr als eine Berechtigung erforderlich ist, werden die Berechtigungsanfragen nacheinander angezeigt.

Mehrere Berechtigungsbildschirme nacheinander
Abbildung 1: Es werden nacheinander Berechtigungsbildschirme angezeigt.

Wear OS-App fordert Berechtigung zum Zugriff auf das Smartphone an

Wenn die Wear OS-App eine Berechtigung für das Smartphone anfordert, z. B. wenn eine Wear OS-App auf der mobilen Version der App auf Fotos oder andere vertrauliche Daten zugreifen möchte, muss die Wear OS-App den Nutzer zum Smartphone weiterleiten, damit er die Berechtigung erteilt. Dort kann die Smartphone-App dem Nutzer anhand einer Aktivität zusätzliche Informationen zur Verfügung stellen. Fügen Sie der Aktivität zwei Schaltflächen hinzu: eine zum Gewähren der Berechtigung und eine zum Ablehnen.

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

Telefon-App fordert Wearable-Berechtigung an

Wenn sich der Nutzer in einer Smartphone-App befindet und die App eine Berechtigung für ein Wearable benötigt, z. B. um Musik vorab zu laden, falls die Verbindung zum Smartphone unterbrochen wird, wird er von der Smartphone-App zum Wearable weitergeleitet, 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: Sende den Nutzer an das Wearable, damit er die Berechtigung dazu erteilt.

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 unter Android 12 (API-Level 31) und höher können Companion-Geräteprofile verwenden, wenn eine Verbindung zu einer Smartwatch hergestellt wird. Die Verwendung eines Profils vereinfacht die Registrierung, da die Gewährung einer gerätespezifischen Berechtigungsgruppe in einem Schritt zusammengefasst wird.

Die gebündelten Berechtigungen werden der Companion-App gewährt, sobald die Verbindung zum Gerät hergestellt wurde. Sie 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 aufgehoben. Weitere Informationen finden Sie unter AssociationRequest.Builder.setDeviceProfile().

Muster für Berechtigungsanfragen

Es gibt verschiedene Muster für das Anfordern von Berechtigungen von Nutzern. Sie sind nach Priorität sortiert:

  • Fragen Sie im Kontext, wenn die Berechtigung offensichtlich für eine bestimmte Funktion erforderlich ist, aber nicht für die Ausführung der App insgesamt.

  • Erläutern Sie den Kontext, wenn der Grund für die Anfrage der Berechtigung nicht offensichtlich ist und die Berechtigung nicht für die Ausführung der App insgesamt erforderlich ist.

Diese Muster werden in den folgenden Abschnitten erläutert.

Im Kontext fragen

Fordern Sie Berechtigungen an, wenn dem Nutzer klar ist, warum die Berechtigung zum Ausführen eines bestimmten Vorgangs erforderlich ist. Nutzer sind eher bereit, eine Berechtigung zu erteilen, wenn sie die Verbindung zur gewünschten Funktion verstehen.

Beispielsweise kann eine App den Standort des Nutzers benötigen, um POIs in der Nähe anzuzeigen. Wenn der Nutzer auf das Symbol tippt, um nach Orten in der Nähe zu suchen, 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. Bitten Sie im Kontext um eine Berechtigung.

Kontextbezogene Informationen

Abbildung 6 zeigt ein Beispiel für kontextbezogene Bildung. Die App benötigt keine Berechtigungen, um den Timer zu starten. Ein Inline-Hinweis zeigt jedoch an, dass ein Teil der Aktivität – die Standortermittlung – gesperrt ist. Wenn der Nutzer auf den Hinweis tippt, wird ein Berechtigungsanfragebildschirm angezeigt, über den er die Standortermittlung entsperren kann.

Mit der Methode shouldShowRequestPermissionRationale() kann Ihre App entscheiden, ob weitere Informationen bereitgestellt werden sollen. Weitere Informationen finden Sie unter App-Berechtigungen anfordern. Alternativ können Sie sich ansehen, wie in der Beispielanwendung für Lautsprecher auf GitHub Informationen angezeigt werden.

Wenn die Berechtigung erforderlich ist, wird in der App erklärt, warum sie erforderlich ist.
Abbildung 6: Informieren Sie im Kontext.

Ablehnung verarbeiten

Wenn der Nutzer eine angeforderte Berechtigung ablehnt, die für eine beabsichtigte Aktivität nicht kritisch ist, darf er die Aktivität nicht daran gehindert werden, fortgesetzt zu werden. Wenn bestimmte Teile der Aktivität durch die abgelehnte Berechtigung deaktiviert sind, geben Sie visuelles, umsetzbares Feedback.

Abbildung 7 zeigt ein Schlosssymbol, das angibt, dass eine Funktion gesperrt ist, weil der Nutzer keine Berechtigung zur Verwendung erteilt hat.

Wenn der Nutzer die Berechtigung ablehnt, wird neben der zugehörigen Funktion ein Schlosssymbol angezeigt.
Abbildung 7. Schlosssymbol, das anzeigt, dass eine Funktion aufgrund einer verweigerten Berechtigung gesperrt ist.

Wenn ein zuvor abgelehntes Dialogfeld für die Berechtigung für Wearables 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 in den Einstellungen des Wearables gewähren.

Das System bietet an, die Berechtigungsanfrage zu beenden.
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 Ihrer App interagiert, z. B. über ein Zifferblatt, muss der Dienst eine Aktivität öffnen, bevor die Berechtigung angefordert wird. Erläutern Sie in dieser Aktivität, warum die Berechtigung erforderlich ist.

Fordern Sie im Allgemeinen keine Berechtigungen für ein Zifferblatt an. Implementieren Sie stattdessen eine Komplikation und lassen Sie den Nutzer auswählen, welche Daten über die Komplikation angezeigt werden sollen.

Einstellungen

Nutzer können die Berechtigungen für eine Wear-App jederzeit in den Einstellungen ändern. Wenn der Nutzer etwas ausführen möchte, 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 Einstellungen ändern.
Abbildung 9. Der Nutzer kann die Berechtigungen über die Einstellungen ändern.