Mit Android 13 und Wear OS 4 können Apps über den Hintergrund auf Körpersensoren wie die Herzfrequenz zugreifen. Dieses neue Zugriffsmodell ähnelt dem Modell, mit dem der Zugriff auf die Standortermittlung im Hintergrund in Android 10 (API-Level 29) eingeführt wurde.
Wenn Ihre App im Hintergrund auf Körpersensorinformationen zugreifen muss, z. B. beim Monitoring von Gesundheitsdiensten im Hintergrund, müssen Sie die Berechtigung BODY_SENSORS_BACKGROUND
anfordern.
Wie auf der Seite Best Practices zum Datenschutz beschrieben, sollten Apps die Berechtigung BODY_SENSORS_BACKGROUND
nur dann anfordern, wenn dies für die für Nutzer sichtbare Funktion wichtig ist, und sie den Nutzern ordnungsgemäß offenlegen.
Das Verfahren zum Gewähren der Berechtigung hängt von der SDK-Zielversion Ihrer App ab.
Die App ist auf Android 13 oder höher ausgerichtet
Zusätzlich zur vorhandenen Berechtigung BODY_SENSORS
solltest du in der Manifestdatei die Berechtigung BODY_SENSORS_BACKGROUND
deklarieren:
<uses-permission android:name="android.permission.BODY_SENSORS">
<uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND">
Anschließend muss Ihre App die Berechtigungen in separaten Vorgängen anfordern:
- Prüfen Sie, ob
BODY_SENSORS
gewährt wurde. Ist dies nicht der Fall, fordern Sie die Berechtigung an. - Prüfen Sie, ob
BODY_SENSORS_BACKGROUND
gewährt wurde. Ist dies nicht der Fall, fordern Sie die Berechtigung an.
Achtung:Wenn Ihre App beide Körpersensorberechtigungen gleichzeitig anfordert, ignoriert das System die Anfrage und gewährt der App keine dieser Berechtigungen.
Unter Android 13 (API-Level 33) und höher enthält das Dialogfeld für Laufzeitberechtigungen nicht die Option „Immer zulassen“. Stattdessen müssen Nutzer den dauerhaften Zugriff auf den Hintergrundsensor in den Systemeinstellungen aktivieren, wie in Abbildung 1 dargestellt. Wenn Sie die Berechtigung BODY_SENSORS_BACKGROUND
anfordern, nachdem Sie die Berechtigung BODY_SENSORS
gewährt haben, können Nutzer die Seite mit den Einstellungen aufrufen. Wenn Nutzer den dauerhaften Zugriff ablehnen, sollten sie Ihre Anwendung weiterhin verwenden können.
App ist auf eine frühere Version ausgerichtet
Wenn Ihre App auf eine Android-Version vor Android 13 ausgerichtet ist, wird der Hintergrundzugriff nicht automatisch gewährt, wenn Sie die Berechtigung BODY_SENSORS
anfordern. Stattdessen sehen Nutzer ein Systemdialogfeld, in dem sie aufgefordert werden, die Einstellungen für Sensorberechtigungen Ihrer App aufzurufen (siehe Abbildung 2). Anschließend müssen Nutzer auf dieser Einstellungsseite die Verwendung des Hintergrundsensors aktivieren.
Nutzer können den Hintergrundzugriff ablehnen. Dies hat denselben Effekt wie das Aufheben der Berechtigung BODY_SENSORS
, während Ihre App im Hintergrund ausgeführt wird. Wenn eine App PassiveMonitoringClient
ohne die Berechtigung für den Hintergrundzugriff verwendet und in den Hintergrund wechselt, verliert die App die Berechtigung BODY_SENSORS
und der onPermissionLost()
-Callback wird aufgerufen. Aus diesen Gründen ist es besonders wichtig, dass Sie sich an die Best Practices zum Anfordern von Laufzeitberechtigungen halten.