Esta página aborda os seguintes tópicos:
- Como solicitar acesso à localização em segundo plano.
- Como processar a solicitação com base na versão do SDK de destino do app.
- Como as preferências do usuário para localização aproximada afetam a maneira como o app recebe a localização em segundo plano.
O conteúdo da caixa de diálogo de permissão depende da versão do SDK de destino
Quando um recurso no app solicita uma localização em segundo plano em um dispositivo com Android 10 (nível 29 da API), a caixa de diálogo de permissões do sistema inclui uma opção chamada Permitir o tempo todo. Se o usuário selecionar essa opção, o recurso no seu app terá acesso à localização em segundo plano.
No Android 11 (API de nível 30) e versões mais recentes, a caixa de diálogo do sistema não inclui a opção Permitir o tempo todo. Em vez disso, os usuários precisam ativar a localização em segundo plano em uma página de configurações, conforme mostrado na Figura 7.
É possível ajudar os usuários a acessar essa página de configurações seguindo as práticas recomendadas ao solicitar a permissão de localização em segundo plano. O processo para conceder a permissão depende da versão do SDK de destino do seu app.
O app é direcionado ao Android 11 ou a versões mais recentes
Se o app não tiver a permissão ACCESS_BACKGROUND_LOCATION
e
shouldShowRequestPermissionRationale()
retornar true
, mostre uma
interface educacional aos usuários que inclua o seguinte:
- Uma explicação clara sobre por que o recurso do app precisa de acesso à localização em segundo plano.
- O rótulo visível para o usuário da opção de configurações que concede a localização
em segundo plano (por exemplo, Permitir o tempo todo na Figura 7). Chame
getBackgroundPermissionOptionLabel()
para receber esse rótulo. O valor de retorno deste método é localizado de acordo com a preferência de idioma do dispositivo do usuário. - Uma opção para os usuários recusarem a permissão. Se os usuários recusarem o acesso à localização em segundo plano, poderão continuar usando o app.
O app é direcionado ao Android 10 ou anterior
Quando um recurso no seu app solicitar acesso à localização em segundo plano, os usuários verão uma caixa de diálogo do sistema. Essa caixa de diálogo inclui uma opção para navegar até as opções de permissão de localização do app em uma página de configurações.
Se o app já segue as práticas recomendadas para solicitar permissões de localização, não é preciso modificá-lo para ter compatibilidade com esse comportamento.
O usuário pode afetar a precisão da localização em segundo plano
Se o usuário solicitar o local aproximado, as escolhas dele na
caixa de diálogo de permissões de localização também se aplicarão à localização em segundo plano. Em outras palavras,
se o usuário conceder ao app a permissão ACCESS_BACKGROUND_LOCATION
,
mas apenas para acesso ao local aproximado em primeiro plano, o app
também terá acesso ao local aproximado em segundo plano.
Outros recursos
Para ter mais informações sobre permissões de localização no Android, consulte o seguinte material:
Codelabs
Vídeos
Amostras
- App de exemplo para demonstrar o uso de permissões de localização.