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.
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 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 Telefon App fordert mehrere Berechtigungen gleichzeitig an
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.
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.
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.
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.
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.
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Laufzeitberechtigungen anfordern
- Bluetooth-Berechtigungen
- Im Hintergrund kommunizieren