Android-Berechtigungen sollen die Privatsphäre von Android-Nutzern schützen. Sie fordern den Nutzer auf, wenn Apps auf Datentypen für sensible Daten wie Kontakte oder Fotos und Systemfunktionen wie Standort- oder Schritterkennung zugreifen möchten. Nutzer erteilen diese Berechtigungen beim ersten Herunterladen deiner App.
Wenn deine App Zugriff auf einen dieser Datentypen (eine Teilmenge der Google Fit-Datentypen) benötigt, fordern Sie die entsprechende Android-Berechtigung an, bevor Sie die OAuth-Berechtigungen anfordern. Weitere Informationen finden Sie unten.
Datentypen, die Android-Berechtigungen erfordern
Um auf diese Datentypen für körperliche Aktivitäten zugreifen zu können, müssen Sie die Android-Berechtigung ACTIVITY_RECOGNITION
anfordern:
So zeichnen Sie diese Datentypen auf:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.calories.expended
So lesen Sie diese Datentypen:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.activity.exercise
Für den Zugriff auf diese Datentypen müssen Sie die Android-Berechtigung ACCESS_FINE_LOCATION
anfordern:
- So lesen Sie diese Datentypen:
com.google.distance.delta
com.google.location.sample
com.google.location.bounding_box
com.google.speed
Wenn Sie diese Datentypen aufzeichnen möchten, müssen Sie die Android-Berechtigung BODY_SENSORS
anfordern:
com.google.heart_rate.bpm
Android-Berechtigungen anfordern
Weitere Informationen zum Anfordern von Android-Berechtigungen, zur Berechtigung zur Erkennung körperlicher Aktivitäten, zur Berechtigung zur genauen Standortermittlung und zur Berechtigung für Körpersensoren.
Um mit den Google Fit APIs auf die oben genannten Datentypen zugreifen zu können, musst du eine Logik implementieren, die das Anfordern von Android-Berechtigungen sowohl für Android 10 als auch für vorherige Android-Versionen ermöglicht. In diesen Beispielen wird die Berechtigung ACTIVITY_RECOGNITION
verwendet.
Android 10
Ihre App kann also auf API-Level 29 oder höher ausgerichtet sein, die Berechtigung vom Nutzer anfordern und die Berechtigung in der Manifestdatei der App registrieren.
Fügen Sie die Berechtigung zur Manifestdatei hinzu.
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
Prüfen Sie, ob die Berechtigung erteilt wurde:
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted }
Wenn die Berechtigung noch nicht erteilt wurde, fordern Sie sie an:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android 9 und niedriger
Damit Ihre App auf API-Level 28 oder niedriger ausgerichtet ist:
Fordern Sie die Berechtigung
com.google.android.gms.permission.ACTIVITY_RECOGNITION
an.Fügen Sie die Berechtigung zur Manifestdatei hinzu.
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>