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