Solicitar acesso em segundo plano aos dados do sensor corporal

O Android 13 e o Wear OS 4 apresentam uma maneira dos apps acessarem sensores corporais, como a 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:

  1. Confira se BODY_SENSORS foi concedida. Caso contrário, peça a permissão.
  2. Confira se BODY_SENSORS_BACKGROUND foi concedida. Caso contrário, peça a permissão.
A opção &quot;all the time&quot; (o tempo todo) é o primeiro item da lista na tela de configurações
Figura 1. A configuração de sensores inclui uma opção chamada All the time, que concede acesso aos dados do sensor em segundo plano.

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

O texto do link é &quot;acesse as configurações&quot;
Figura 2. A caixa de diálogo de permissão inclui um link para direcionar os usuários às permissões do sensor do app nas configurações do sistema.

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.