O Android 13 e o Wear OS 4 apresentam uma maneira dos apps acessarem sensores corporais, como como frequência cardíaca, em segundo plano. Esse novo modelo de acesso é semelhante ao que introduziu o acesso à localização em segundo plano no Android 10 (nível 29 da API).
Se o app precisar acessar informações do sensor corporal em segundo plano, como ao
monitorar dados dos Recursos de saúde, peça a
permissão BODY_SENSORS_BACKGROUND
.
Conforme descrito na página Práticas recomendadas de privacidade, os apps só poderão pedir a permissão
BODY_SENSORS_BACKGROUND
quando ela for essencial para o recurso voltado ao usuário
e precisam deixar isso bem claro.
O processo para conceder a permissão depende da versão do SDK de destino do app.
O app é direcionado ao Android 13 ou a versões mais recentes
Além da permissão BODY_SENSORS
, declare a
permissão BODY_SENSORS_BACKGROUND
no seu arquivo de manifesto:
<uses-permission android:name="android.permission.BODY_SENSORS">
<uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND">
Em seguida, o app precisa solicitar as permissões em operações separadas:
- Confira se
BODY_SENSORS
foi concedida. Caso contrário, peça a permissão. - Confira se
BODY_SENSORS_BACKGROUND
foi concedida. Caso contrário, peça a permissão.
Cuidado: se o seu app solicitar as duas permissões de sensor corporal ao mesmo tempo, o sistema vai ignorar a solicitação e não vai conceder nenhuma permissão a ele.
No Android 13 (nível 33 da API) e em versões mais recentes, a caixa de diálogo de permissão de execução não
inclui a opção "Allow all the time". Em vez disso, os usuários precisam ativar o acesso ao sensor em segundo plano
o tempo todo nas configurações do sistema, conforme mostrado na Figura 1. Ao solicitar
a permissão BODY_SENSORS_BACKGROUND
depois de conceder a
permissão BODY_SENSORS
, você pode ajudar os usuários a navegar até essa página de configurações. Se
os usuários recusarem o acesso o tempo todo, eles poderão continuar usando o
app.
O app é direcionado a uma versão anterior
Quando o app é direcionado a uma versão do Android anterior à 13, o acesso
em segundo plano não é concedido automaticamente ao pedir a permissão
BODY_SENSORS
. Em vez disso, o sistema mostra uma caixa de diálogo que convida a navegar até
as configurações de permissão do sensor do app, como mostrado na Figura 2. Em seguida, o usuário precisa
ativar o uso do sensor em segundo plano nessa página de configurações.
O usuário pode recusar o acesso em segundo plano. Isso tem o mesmo efeito que revogar a
permissão BODY_SENSORS
enquanto o app está sendo executado em segundo plano. Quando um
app usa PassiveMonitoringClient
e entra em segundo plano
sem permissão de acesso, ele perde a permissão BODY_SENSORS
, e
o callback onPermissionLost()
é chamado. Por esses motivos, é
particularmente importante seguir as práticas recomendadas para pedir permissões de
execução.