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.
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"/>