Uprawnienia Androida

Uprawnienia Androida mają na celu ochronę prywatności użytkowników Androida. Informują użytkownika, gdy aplikacje będą chciały uzyskać dostęp do typów danych wrażliwych, takich jak kontakty lub zdjęcia, oraz funkcji systemowych takich jak wykrywanie lokalizacji lub kroków. Użytkownicy przyznają te uprawnienia przy pierwszym pobieraniu aplikacji.

Jeśli Twoja aplikacja potrzebuje dostępu do któregokolwiek z tych typów danych (podzbioru danych Google Fit), zanim poprosisz o dostęp do protokołu OAuth, poproś o odpowiednie uprawnienie Androida. Patrz niżej.

Przykład ekranu zgody na uprawnienia na Androidzie
Rys. 1. Ekran zgody na uprawnienia Androida.

Typy danych, które wymagają uprawnień Androida

Aby uzyskać dostęp do tych typów danych o aktywności fizycznej, musisz poprosić o uprawnienia ACTIVITY_RECOGNITION na Androidzie:

  • Aby rejestrować te typy danych:

    • com.google.step_count.delta
    • com.google.step_count.cumulative
    • com.google.step_count.cadence
    • com.google.activity.segment
    • com.google.calories.expended
  • Aby odczytywać te typy danych:

    • com.google.step_count.delta
    • com.google.step_count.cumulative
    • com.google.step_count.cadence
    • com.google.activity.segment
    • com.google.activity.exercise

Aby uzyskać dostęp do tych typów danych, musisz poprosić o uprawnienie ACCESS_FINE_LOCATION na Androidzie:

  • Aby odczytywać te typy danych:
    • com.google.distance.delta
    • com.google.location.sample
    • com.google.location.bounding_box
    • com.google.speed

Aby rejestrować te typy danych, musisz poprosić o uprawnienie BODY_SENSORS na Androidzie:

  • com.google.heart_rate.bpm

Wysyłanie prośby o uprawnienia na Androidzie

Dowiedz się więcej o przesyłaniu prośby o uprawnienia na Androida, o uprawnieniach do rozpoznawania aktywności fizycznej, o dostępie do dokładnej lokalizacji oraz o uprawnieniach dotyczących czujników na ciele.

Aby uzyskać dostęp do powyższych typów danych za pomocą interfejsów API Google Fit, musisz zaimplementować logikę żądania uprawnień Androida zarówno w przypadku Androida 10, jak i poprzednich wersji Androida. W tych przykładach używane jest uprawnienie ACTIVITY_RECOGNITION.

Android 10

Aby aplikacja mogła być kierowana na interfejs API na poziomie 29 lub wyższym, prosić użytkownika o odpowiednie uprawnienia i zarejestrować je w pliku manifestu aplikacji.

  1. Dodaj uprawnienia do pliku manifestu.

    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
    
  2. Sprawdź, czy uprawnienie zostało przyznane:

    if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION)
              != PackageManager.PERMISSION_GRANTED) {
          // Permission is not granted
    }
    
  3. Jeśli uprawnienia nie zostały jeszcze przyznane, poproś o nie:

    ActivityCompat.requestPermissions(thisActivity,
                arrayOf(Manifest.permission.ACTIVITY_RECOGNITION),
                MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
    

Android 9 i starsze

Aby aplikacja mogła być kierowana na interfejs API na poziomie 28 lub niższym:

  1. Poproś o uprawnienie com.google.android.gms.permission.ACTIVITY_RECOGNITION.

  2. Dodaj uprawnienia do pliku manifestu.

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