Uprawnienia Androida

Uprawnienia na Androidzie mają na celu ochronę prywatności użytkowników tego systemu. Wyświetlają one użytkownikowi prośbę o zezwolenie, gdy aplikacje chcą uzyskać dostęp do typów danych związanych z danymi wrażliwymi, takimi jak kontakty czy zdjęcia, oraz do funkcji systemowych, takich jak lokalizacja czy wykrywanie kroków. Użytkownicy przyznają te uprawnienia podczas pierwszego pobierania aplikacji.

Jeśli Twoja aplikacja potrzebuje dostępu do któregokolwiek z tych typów danych (podzbioru typów danych Google Fit), przed poproszeniem o uprawnienia OAuth poproś o odpowiednie uprawnienia Androida. Zobacz poniżej

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

Typy danych, które wymagają uprawnień Androida

Aby uzyskać dostęp do tych typów danych o aktywności fizycznej, musisz poprosić o ACTIVITY_RECOGNITIONuprawnienia 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 ACCESS_FINE_LOCATIONuprawnienia na Androidzie:

  • Aby odczytać 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 BODY_SENSORSuprawnienia Androida:

  • com.google.heart_rate.bpm

Wysyłanie prośby o uprawnienia Androida

Dowiedz się więcej o prośbach o uprawnienia na Androidzie, uprawnieniach do rozpoznawania aktywności fizycznej, dostępie do precyzyjnej lokalizacjiuprawnieniach do czujników na ciele.

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

Android 10

Dzięki temu aplikacja może być kierowana na interfejs API na poziomie 29 lub wyższym, prosić użytkownika o uprawnienia i rejestrować 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 lub starszy

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