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