Hintergrundzugriff auf Körpersensordaten anfordern

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:

  1. Prüfen Sie, ob BODY_SENSORS gewährt wurde. Ist dies nicht der Fall, fordern Sie die Berechtigung an.
  2. Prüfen Sie, ob BODY_SENSORS_BACKGROUND gewährt wurde. Ist dies nicht der Fall, fordern Sie die Berechtigung an.
Die Option „Immer“ ist der erste Listeneintrag auf dem Einstellungsbildschirm.
Abbildung 1: Die Sensoreneinstellung umfasst die Option Immer, mit der Zugriff auf Daten von Hintergrundsensoren gewährt wird.

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

Der Linktext lautet „Zu den Einstellungen“.
Abbildung 2. Das Berechtigungsdialogfeld enthält einen Link, über den Nutzer in den Systemeinstellungen zu den Sensorberechtigungen der App gelangen können.

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.