As permissões do Android têm como objetivo proteger a privacidade do usuário do Android. Eles fazem o usuário quando os apps quiserem acessar tipos de dados sensíveis, como contatos ou fotos; e recursos do sistema, como localização ou detecção de passos. Os usuários concedem estas permissões ao fazer o download do app pela primeira vez.
Caso seu app precise de acesso a qualquer um destes tipos de dados. (um subconjunto dos tipos de dados do Google Fit), solicite o permissão do Android antes de solicitar as permissões do OAuth. Veja os detalhes abaixo.
![Exemplo da tela de consentimento de permissões do Android](https://developers.google.cn/static/fit/images/android_permissions.png?authuser=19&hl=pt-br)
Tipos de dados que precisam de permissões do Android
Para acessar esses tipos de dados de atividade física, solicite a permissão ACTIVITY_RECOGNITION
do Android:
Para gravar esses tipos de dados:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.calories.expended
Para ler esses tipos de dados:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.activity.exercise
Para acessar esses tipos de dados, você precisa solicitar a permissão ACCESS_FINE_LOCATION
do Android:
- Para ler esses tipos de dados:
com.google.distance.delta
com.google.location.sample
com.google.location.bounding_box
com.google.speed
Para gravar esses tipos de dados, você precisa solicitar a permissão BODY_SENSORS
do Android:
com.google.heart_rate.bpm
Solicitar permissões do Android
Saiba mais sobre a solicitação de permissões do Android, a permissão de reconhecimento de atividade física, a permissão de localização otimizada e permissão de sensores corporais.
Para acessar os tipos de dados acima com as APIs do Google Fit, você precisará:
implementar uma lógica para processar solicitações de permissões do Android 10 e
versões anteriores do Android. Estes exemplos usam a permissão ACTIVITY_RECOGNITION
.
Android 10
Para que seu app seja direcionado ao nível 29 da API ou mais recente, solicite a permissão do usuário e registre a permissão no arquivo de manifesto do aplicativo.
Adicione a permissão ao arquivo de manifesto.
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
Verifique se a permissão foi concedida:
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted }
Solicite a permissão se ela ainda não tiver sido concedida:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android 9 e versões anteriores
Portanto, seu app pode ser direcionado ao nível 28 da API ou versões anteriores:
Solicite a permissão
com.google.android.gms.permission.ACTIVITY_RECOGNITION
.Adicione a permissão ao arquivo de manifesto.
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>