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, es gibt jedoch einige zusätzliche Anwendungsfälle. In diesem Dokument wird davon ausgegangen, dass Sie wissen, wie Android-Berechtigungen funktionieren. Falls nicht, informieren Sie sich über die Funktionsweise von Berechtigungen unter Android.
Genau wie bei 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, 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 Telefon 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 ExerciseSampleCompose-Beispiel 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 Wearable-Berechtigung an
Wenn die Wear-App eine Berechtigung für eine App anfordert, die auf dem Wearable ausgeführt wird, zeigt das System ein Dialogfeld an, in dem der Nutzer aufgefordert wird, diese Berechtigung zu erteilen. Fordern Sie in Ihrer App Berechtigungen nur dann an, wenn für den Nutzer klar ist, warum die Berechtigungen für einen bestimmten Vorgang erforderlich sind.
Lesen Sie sich die Grundsätze für Berechtigungen durch, um Ihren Nutzern die bestmögliche Erfahrung zu bieten. 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 gleichzeitig erforderlich ist, werden Berechtigungsanfragen nacheinander angezeigt.

Wear-App fordert Berechtigung zum Zugriff auf das Smartphone an
Wenn die Wear-App eine Smartphone-Berechtigung anfordert, z. B. wenn eine Wearable-App Zugriff auf Fotos oder andere vertrauliche Daten in der mobilen Version der App benötigt, muss die Wear-App den Nutzer zum Smartphone weiterleiten, damit er die Berechtigung akzeptieren kann. Dort kann die Smartphone-App dem Nutzer über eine Aktivität zusätzliche Informationen zur Verfügung stellen. Die Aktivität muss zwei Schaltflächen enthalten: eine zum Erteilen und eine zum Ablehnen der Berechtigung.

Die Telefon App fordert eine Berechtigung für Wearables an
Wenn sich der Nutzer in einer Smartphone-App befindet und die App eine Wearable-Berechtigung benötigt, z. B. um Musik vorzuladen, falls die Verbindung zum Smartphone unterbrochen wird, wird der Nutzer 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 fordert mehrere Berechtigungen gleichzeitig an

Partner-Apps unter Android 12 (API-Level 31) und höher können Companion-Geräteprofile verwenden, wenn sie eine Verbindung zu einer Smartwatch herstellen. Die Verwendung eines Profils vereinfacht die Registrierung, da die Erteilung eines gerätetypspezifischen Satzes von Berechtigungen in einem Schritt erfolgt.
Die gebündelten Berechtigungen werden der Companion-App gewährt, sobald das Gerät verbunden wird, und gelten nur, solange 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()
.
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 als Ganzes.
Erklären Sie im Kontext, warum die Berechtigung angefordert wird, wenn der Grund dafür nicht offensichtlich ist und die Berechtigung nicht für die Ausführung der App als Ganzes 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 erteilen eine Berechtigung eher, wenn sie den Zusammenhang mit der Funktion verstehen, die sie verwenden möchten.
Eine App benötigt beispielsweise den Standort des Nutzers, um interessante Orte in der Nähe anzuzeigen. Wenn der Nutzer tippt, um nach Orten in der Nähe zu suchen, kann die App sofort die Standortberechtigung anfordern, da ein klarer Zusammenhang zwischen der Suche nach Orten in der Nähe und der Notwendigkeit der Standortberechtigung besteht. Da diese Beziehung offensichtlich ist, sind keine zusätzlichen Informationsbildschirme in der App erforderlich.

Im Kontext informieren
Abbildung 6 zeigt ein Beispiel für die kontextbezogene Schulung. Die App benötigt keine Berechtigungen, um den Timer zu starten. Es wird jedoch ein Inline-Hinweis angezeigt, dass ein Teil der Aktivität – die Standorterkennung – gesperrt ist. Wenn der Nutzer auf den Hinweis tippt, wird ein Bildschirm mit einer Berechtigungsanfrage angezeigt, über den der Nutzer die Standortermittlung aktivieren kann.
Mit der Methode shouldShowRequestPermissionRationale()
kann Ihre App entscheiden, ob sie weitere Informationen bereitstellen soll. Weitere Informationen finden Sie unter App-Berechtigungen anfordern. Alternativ können Sie sich ansehen, wie die Lautsprecher-Beispielanwendung auf GitHub Informationen anzeigt.

Ablehnung bearbeiten
Wenn der Nutzer eine angeforderte Berechtigung ablehnt, die für eine bestimmte Aktivität nicht kritisch ist, sollten Sie ihn nicht daran hindern, die Aktivität fortzusetzen. Wenn bestimmte Teile der Aktivität durch die verweigerte Berechtigung deaktiviert sind, geben Sie visuelles, umsetzbares Feedback.
Abbildung 7 zeigt die Verwendung eines Schlosssymbols, um anzugeben, dass eine Funktion gesperrt ist, weil der Nutzer keine Berechtigung zur Verwendung erteilt hat.

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

Weitere Informationen zum Umgang mit verweigerten 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. In dieser Aktivität wird erläutert, warum die Berechtigung erforderlich ist.
Im Allgemeinen sollten Sie keine Berechtigungen für ein Zifferblatt anfordern. Implementieren Sie stattdessen eine Kombination und lassen Sie den Nutzer auswählen, welche Daten über die Kombination angezeigt werden sollen.
Einstellungen
Nutzer können die Berechtigungen einer Wear-App jederzeit in den Einstellungen ändern. Wenn der Nutzer versucht, etwas zu tun, das eine Berechtigung erfordert, rufen Sie zuerst die Methode checkSelfPermission()
auf, um zu prüfen, ob die App die Berechtigung zum Ausführen des Vorgangs 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.

Empfehlungen für dich
- Hinweis: Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Laufzeitberechtigungen anfordern
- Bluetooth-Berechtigungen
- Im Hintergrund kommunizieren