Poproś o dostęp w tle do danych z czujników na ciele

W Androidzie 13 i Wear OS 4 aplikacje mają dostęp do czujników na ciele, takich jak takie jak tętno, w tle. Nowy model dostępu jest podobny do modelu który wprowadził dostęp do lokalizacji w tle w Androidzie 10 (poziom interfejsu API 29).

Gdy aplikacja musi mieć w tle dostęp do danych z czujnika na ciele, na przykład monitorowania danych dotyczących usług zdrowotnych w tle, należy poprosić o BODY_SENSORS_BACKGROUND.

Zgodnie z opisem na stronie ze sprawdzonymi metodami dotyczącymi prywatności aplikacje powinny prosić tylko o pozwolenie na: uprawnienia BODY_SENSORS_BACKGROUND, gdy są kluczowe dla aplikacji oraz należy poinformować o tym użytkowników.

Proces przyznawania uprawnień zależy od docelowego pakietu SDK aplikacji wersji.

Aplikacja jest kierowana na Androida 13 lub nowszego

Oprócz dotychczasowego uprawnienia BODY_SENSORS zadeklaruj Uprawnienia BODY_SENSORS_BACKGROUND w pliku manifestu:

<uses-permission android:name="android.permission.BODY_SENSORS">
<uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND">

Następnie aplikacja musi poprosić o te uprawnienia w osobnych operacjach:

  1. Sprawdź, czy przyznano BODY_SENSORS. Jeśli nie, poproś o odpowiednie uprawnienia.
  2. Sprawdź, czy przyznano BODY_SENSORS_BACKGROUND. Jeśli nie, poproś o uprawnienia.
Opcja Cały czas to pierwsza pozycja na liście na ekranie ustawień
Rysunek 1. Ustawienie Czujniki zawiera opcję Wszystkie time, który przyznaje dostęp do danych czujnika w tle.

Uwaga: jeśli aplikacja prosi o uprawnienia dostępu do obu czujników na ciele system zignoruje żądanie i nie przyzna żadnej aplikacji uprawnienia.

Na Androidzie 13 (poziom interfejsu API 33) i nowszych wersjach okno uprawnień czasu działania nie Uwzględnij opcję „Zawsze zezwalaj”, . Zamiast tego użytkownicy muszą włączyć opcję Cały czas. dostęp do czujnika w tle z poziomu ustawień systemu, jak pokazano na ilustracji 1. Gdy poproś o uprawnienie BODY_SENSORS_BACKGROUND po jego przyznaniu BODY_SENSORS, możesz pomóc użytkownikom przejść na tę stronę ustawień. Jeśli odmówi dostępu całodobowego, powinni oni mieć możliwość dalszego korzystania .

Aplikacja jest kierowana na wcześniejszą wersję

Tekst linku to „Otwórz ustawienia”.
Rysunek 2. Okno uprawnień zawiera link do przechodzenia użytkowników uprawnień aplikacji do czujników w ustawieniach systemowych.

Jeśli Twoja aplikacja jest kierowana na wersję Androida starszą niż 13, tło gdy poprosisz o BODY_SENSORS, dostęp nie zostanie przyznany automatycznie uprawnienia. Zamiast tego użytkownicy widzą okno systemowe z prośbą o przejście do ustawienia uprawnień aplikacji do czujników, tak jak na ilustracji 2. Następnie użytkownicy muszą włącz czujnik w tle na tej stronie ustawień.

Użytkownicy mogą odrzucić dostęp w tle. Ma taki sam skutek jak cofnięcie zgody na BODY_SENSORS, gdy aplikacja działa w tle. Gdy aplikacja używa aplikacji PassiveMonitoringClient bez uprawnień dostępu w tle i przechodzi w tle, aplikacja utraci uprawnienie BODY_SENSORS, wywołanie zwrotne onPermissionLost(). Z tych powodów Szczególnie ważne jest, aby stosować sprawdzone metody wysyłania żądań dotyczących środowiska wykonawczego. uprawnień.