As permissões do Android têm como objetivo proteger a privacidade dos usuários desse sistema. Elas solicitam ao usuário quando os apps querem 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 essas permissões ao fazer o download do app pela primeira vez.
Caso seu app precise acessar qualquer um desses tipos de dados (um subconjunto dos tipos de dados do Google Fit), solicite a permissão do Android relevante 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=3&hl=pt-br)
Tipos de dados que precisam de permissões do Android
Para acessar esses tipos de dados de atividade física, é necessário solicitar a permissão ACTIVITY_RECOGNITION
do Android:
Para registrar 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, é necessário solicitar a permissão do Android ACCESS_FINE_LOCATION
:
- 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, é necessário solicitar a permissão BODY_SENSORS
do Android:
com.google.heart_rate.bpm
Como solicitar permissões do Android
Saiba mais sobre a solicitação de permissões do Android, a permissão de reconhecimento de atividades físicas, a permissão de localização exata e a permissão de sensores corporais.
Para acessar os tipos de dados acima com as APIs do Google Fit, é necessário
implementar uma lógica para processar a solicitação de permissões do Android para o Android 10 e
versões anteriores. Estes exemplos usam a permissão ACTIVITY_RECOGNITION
.
Android 10
Para que o app possa ser direcionado ao nível 29 da API ou mais recente, solicitar a permissão do usuário e registrar a permissão no arquivo de manifesto do app.
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 caso ela ainda não tenha sido concedida:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android 9 e anteriores
Portanto, seu app pode ser direcionado ao nível 28 da API ou anterior:
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"/>