Android-Berechtigungen

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.

Beispiel für den Zustimmungsbildschirm für Android-Berechtigungen
Abbildung 1: Zustimmungsbildschirm für Android-Berechtigungen

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.

  1. Fügen Sie die Berechtigung zur Manifestdatei hinzu.

    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
    
  2. Prüfen Sie, ob die Berechtigung erteilt wurde:

    if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION)
              != PackageManager.PERMISSION_GRANTED) {
          // Permission is not granted
    }
    
  3. 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:

  1. Fordern Sie die Berechtigung com.google.android.gms.permission.ACTIVITY_RECOGNITION an.

  2. Fügen Sie die Berechtigung zur Manifestdatei hinzu.

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