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
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.deltacom.google.step_count.cumulativecom.google.step_count.cadencecom.google.activity.segmentcom.google.calories.expended
Aby odczytywać te typy danych:
com.google.step_count.deltacom.google.step_count.cumulativecom.google.step_count.cadencecom.google.activity.segmentcom.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.deltacom.google.location.samplecom.google.location.bounding_boxcom.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 lokalizacji i uprawnieniach 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.
Dodaj uprawnienia do pliku manifestu.
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>Sprawdź, czy uprawnienie zostało przyznane:
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted }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:
Poproś o uprawnienie
com.google.android.gms.permission.ACTIVITY_RECOGNITION.Dodaj uprawnienia do pliku manifestu.
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>