Berechtigungen unter Wear OS anfordern

keywords: wear, permissions, collection_guideslandingwear image_path: images/training/wear/multiple_permissions.png

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

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 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 Smartphone-App fordert mehrere Berechtigungen an, die nur verwendet werden können, wenn das Wearable 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 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-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 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 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 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 OS-App leitet den Nutzer zum Smartphone weiter, damit er die Berechtigung erteilt.
Abbildung 2: Bitte den Nutzer, die Berechtigung auf dem Smartphone zu erteilen.

Die Telefon App fordert eine Berechtigung für Wearables 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. In der Wearables-Version der App wird die Methode requestPermissions() verwendet, um das Dialogfeld für Systemberechtigungen zu öffnen.

Die Smartphone-App leitet den Nutzer zum Wearable weiter, damit er die Berechtigung erteilt.
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 mithilfe eines Companion-Geräteprofils 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 mit einer Smartwatch herzustellen. 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.

  • 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.

Im Kontext fragen

Fordern Sie Berechtigungen an, wenn für den Nutzer klar ist, warum die Berechtigung für die Ausführung einer bestimmten Aktion 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 die Berechtigung an, wenn dies offensichtlich erforderlich ist.
Abbildung 5. Bitten Sie im Kontext um eine Berechtigung.

Kontextbezogene Informationen

Abbildung 6 zeigt ein Beispiel für kontextbezogene Informationen. 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 Cue tippt, wird ein Bildschirm mit einer Berechtigungsanfrage angezeigt, mit dem er die Standorterkennung 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.

Umgang mit Ablehnung

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.

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

Wenn ein Dialogfeld für eine zuvor abgelehnte 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 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 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 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 einer Wear OS-App jederzeit in den Einstellungen ändern. Wenn der Nutzer versucht, eine Aktion auszuführen, für die 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 App „Einstellungen“ ändern.