Permissões do Android

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
Figura 1.Tela de consentimento de permissões do Android.

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.

  1. Adicione a permissão ao arquivo de manifesto.

    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
    
  2. Verifique se a permissão foi concedida:

    if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION)
              != PackageManager.PERMISSION_GRANTED) {
          // Permission is not granted
    }
    
  3. 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:

  1. Solicite a permissão com.google.android.gms.permission.ACTIVITY_RECOGNITION.

  2. Adicione a permissão ao arquivo de manifesto.

    <uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>
    
.