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 wissen, wie Android-Berechtigungen funktionieren. Wenn nicht, lesen Sie den Artikel Funktionsweise von Berechtigungen unter Android.

Wie in einer mobilen App muss der Nutzer einer Wear-App Berechtigungen für den Zugriff auf bestimmte Funktionen erteilen. Bieten Sie in Ihren Wear-Apps sinnvolle 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 ausgeführt wird.

  • Die Wear-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 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 App sehen möchten, sehen Sie sich das Beispiel ExerciseSampleCompose auf GitHub an.

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

Wear-App fordert Berechtigung für Wearable an

Wenn die Wear-App eine Berechtigung für eine App anfordert, die auf dem Wearable ausgeführt wird, wird vom System ein Dialogfeld angezeigt, in dem der Nutzer um diese Berechtigung gebeten wird. Fordern Sie in Ihrer App nur Berechtigungen an, wenn dem Nutzer klar ist, warum die Berechtigungen für die Ausführung einer bestimmten Aktion erforderlich sind.

Lesen Sie die Berechtigungsprinzipien um sicherzustellen, dass Sie Ihren Nutzern die bestmögliche Nutzererfahrung bieten. Prüfen Sie außerdem shouldShowRequestPermissionRationale() und geben Sie bei Bedarf zusätzliche Informationen an .

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

Mehrere Berechtigungsbildschirme nacheinander.
Abbildung 1. Berechtigungsbildschirme, die nacheinander angezeigt werden.

Wear-App fordert Berechtigung für Smartphone an

Wenn die Wear-App eine Berechtigung für das Smartphone anfordert, z. B. wenn eine Wearable-App Zugriff auf Fotos oder andere sensible Daten in der mobilen Version der App benötigt, muss die Wear-App den Nutzer zum Smartphone weiterleiten, damit er die Berechtigung erteilen kann. Dort kann die Smartphone-App dem Nutzer über eine Aktivität zusätzliche Informationen zur Verfügung stellen. Fügen Sie in der Aktivität zwei Schaltflächen ein: eine zum Erteilen und eine zum Verweigern der Berechtigung.

Die Wear-App leitet den Nutzer zum Smartphone weiter, damit er die Berechtigung erteilen kann.
Abbildung 2. Leiten Sie den Nutzer zum Smartphone weiter, damit er die Berechtigung erteilen kann.

Telefon App fordert Berechtigung für Wearable an

Wenn sich der Nutzer in einer Smartphone-App befindet und die App eine Berechtigung für das Wearable benötigt, z. B. um Musik vorzuladen, falls die Verbindung zum Smartphone unterbrochen wird, leitet die Smartphone-App den Nutzer zum Wearable weiter, damit er die Berechtigung erteilen kann. Die Wearable Version der App verwendet die requestPermissions() Methode, um das Dialogfeld für Systemberechtigungen auszulösen.

Die Telefon App leitet den Nutzer an das Wearable weiter, damit er die Berechtigung erteilen kann.
Abbildung 3. Leiten Sie den Nutzer zum Wearable weiter, damit er die Berechtigung erteilen kann.

Telefon App fordert mehrere Berechtigungen gleichzeitig an

Abbildung 4. Ein Berechtigungsdialogfeld, in dem mit einem Profil für ein Begleitgerät mehrere Berechtigungen in einer einzigen Anfrage angefordert werden.

Partner-Apps unter Android 12 (API-Level 31) und höher können beim Verbinden mit einer Smartwatch Profile für Begleitgeräte verwenden. Durch die Verwendung eines Profils wird der Registrierungsprozess vereinfacht, da die Erteilung eines gerätespezifischen Satzes von Berechtigungen in einem Schritt zusammengefasst wird.

Die gebündelten Berechtigungen werden der Begleit-App erteilt, sobald das Gerät verbunden ist, und gelten nur, solange das Gerät zugeordnet ist. Wenn die App gelöscht oder die Zuordnung entfernt wird, werden die Berechtigungen entfernt. Weitere Informationen finden Sie unter AssociationRequest.Builder.setDeviceProfile().

Muster für Berechtigungsanfragen

Es gibt verschiedene Muster zum Anfordern von Berechtigungen von Nutzern. Sie sind nach Priorität sortiert:

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

  • Im Kontext informieren, wenn der Grund für die Anforderung 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 für die Ausführung einer bestimmten Aktion erforderlich ist. Nutzer erteilen eine Berechtigung eher, wenn sie den Zusammenhang mit der Funktion verstehen, die sie verwenden möchten.

Beispielsweise kann eine App den Standort des Nutzers benötigen, um Orte in der Nähe anzuzeigen. Wenn der Nutzer auf „Orte in der Nähe suchen“ 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. Aufgrund dieses offensichtlichen Zusammenhangs ist es nicht erforderlich, dass die App zusätzliche Informationsbildschirme anzeigt.

Die App fordert Berechtigungen nur an, wenn sie offensichtlich erforderlich sind.
Abbildung 5. Im Kontext um eine Berechtigung bitten.

Im Kontext informieren

Abbildung 6 zeigt ein Beispiel für die Information im Kontext. Für den Start des Timers sind keine Berechtigungen erforderlich, aber ein Inline-Hinweis zeigt, dass ein Teil der Aktivität – die Standortermittlung – gesperrt ist. Wenn der Nutzer auf den Hinweis tippt, wird ein Bildschirm für die Berechtigungsanfrage angezeigt, auf dem der Nutzer die Standort ermittlung entsperren kann.

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

Wenn die Berechtigung benötigt wird, erklärt die App, warum sie erforderlich ist.
Abbildung 6. Im Kontext informieren.

Ablehnung verarbeiten

Wenn der Nutzer eine angeforderte Berechtigung verweigert, die für eine beabsichtigte Aktivität nicht kritisch ist, blockieren Sie ihn nicht, 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 anzugeben, dass eine Funktion gesperrt ist, weil der Nutzer keine Berechtigung zur Verwendung erteilt hat.

Wenn der Nutzer die Berechtigung verweigert, wird neben der zugehörigen Funktion ein Schlosssymbol angezeigt.
Abbildung 7. Sperrsymbol, das anzeigt, dass eine Funktion aufgrund von verweigerter Berechtigung gesperrt ist.

Wenn ein zuvor verweigertes Dialogfeld für Wearable-Berechtigungen ein zweites Mal angezeigt wird, enthält es die Option Verweigern und nicht noch einmal anzeigen. Wenn der Nutzer diese Option auswählt, kann er diese Berechtigung in Zukunft nur noch in der Einstellungen-App des Wearables erteilen.

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

Weitere Informationen zum Umgang mit verweigerten Berechtigungen

Berechtigungen für Dienste

Nur eine Aktivität kann die requestPermissions() Methode 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 er die Berechtigung anfordert. Geben Sie in dieser Aktivität weitere Informationen dazu an, 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

Ein Nutzer kann die Berechtigungen einer 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 checkSelfPermission() Methode auf, um zu prüfen, ob die App die Berechtigung zur Ausführung der Aktion hat.

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

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