Uprawnienia Androida

Uprawnienia Androida mają na celu ochronę prywatności użytkownika Androida. Wyświetlają one prośbę do użytkownika, gdy aplikacje chcą uzyskać dostęp do typów danych wrażliwych, takich 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 tych typów danych (podzbioru typów danych Google Fit), poproś o odpowiednie uprawnienia Androida, zanim poprosisz o uprawnienia OAuth. Patrz niżej.

Przykład ekranu zgody na uprawnienia Androida
Rysunek 1. Ekran zgody na uprawnienia Androida.

Typy danych, które wymagają uprawnień Androida

Aby uzyskać dostęp do tych typów danych dotyczących aktywności fizycznej, musisz poprosić o uprawnienia ACTIVITY_RECOGNITION na Androidzie:

  • Aby zarejestrować 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 czytać 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 urządzeniu z Androidem:

  • 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 uprawnienie BODY_SENSORS na Androida:

  • com.google.heart_rate.bpm

Prośba o uprawnienia Androida

Dowiedz się więcej o proszeniu o uprawnienia na Androidzie, uprawnieniach rozpoznawania aktywności fizycznej, dokładnych uprawnień do lokalizacji oraz uprawnieniach dostępu do czujników ciała.

Aby uzyskać dostęp do wymienionych powyżej typów danych za pomocą interfejsów Google Fit API, musisz zaimplementować logikę, która będzie obsługiwać żądanie uprawnień Androida zarówno w przypadku Androida 10, jak i wcześniejszych wersji tego systemu operacyjnego. W tych przykładach użyto uprawnienia ACTIVITY_RECOGNITION.

Android 10

Aby Twoja aplikacja mogła być kierowana na interfejs API na poziomie 29 lub wyższym, poproś użytkownika o przyznanie uprawnienia i zarejestruj je w pliku manifestu aplikacji.

  1. Dodaj uprawnienie 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 i starsze

Aby Twoja aplikacja była kierowana na interfejs API na poziomie 28 lub niższym:

  1. Poproś o uprawnienia com.google.android.gms.permission.ACTIVITY_RECOGNITION.

  2. Dodaj uprawnienia do pliku manifestu.

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