Android izinleri, Android kullanıcılarının gizliliğini korumayı amaçlar. Uygulamalar kişiler veya fotoğraflar gibi hassas veri türlerine ve konum ya da adım algılama gibi sistem özelliklerine erişmek istediğinde kullanıcıyı bilgilendirir. Kullanıcılar bu izinleri uygulamanızı ilk kez indirirken verirler.
Uygulamanızın bu veri türlerinden herhangi birine (Google Fit veri türlerinin bir alt kümesi) erişmesi gerekiyorsa OAuth izinlerini istemeden önce ilgili Android iznini isteyin. Aşağıya bakın.
Android izinleri gerektiren veri türleri
Aşağıdaki fiziksel aktivite veri türlerine erişmek için ACTIVITY_RECOGNITION
Android iznini almanız gerekir:
Bu veri türlerini kaydetmek için:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.calories.expended
Bu veri türlerini okumak için:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.activity.exercise
Bu veri türlerine erişmek için ACCESS_FINE_LOCATION
Android iznini almanız gerekir:
- Bu veri türlerini okumak için:
com.google.distance.delta
com.google.location.sample
com.google.location.bounding_box
com.google.speed
Bu veri türlerini kaydetmek için BODY_SENSORS
Android iznini istemeniz gerekir:
com.google.heart_rate.bpm
Android izinleri isteme
Android izinleri isteme, fiziksel aktivite tanıma izni, ince konum izni ve vücut sensörleri izni hakkında bilgi edinin.
Google Fit API'leriyle yukarıdaki veri türlerine erişmek için hem Android 10 hem de önceki Android sürümleri için Android izinleri isteme işlemini işleyecek mantığı uygulamanız gerekir. Bu örneklerde ACTIVITY_RECOGNITION
izni kullanılmaktadır.
Android 10
Dolayısıyla uygulamanız API düzeyi 29 veya üstünü hedefleyebilir, kullanıcıdan izin isteyebilir ve izni uygulama manifest dosyasına kaydedebilir.
İzni manifest dosyasına ekleyin.
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
İznin verilip verilmediğini kontrol edin:
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted }
Daha önce izin verilmediyse izni isteyin:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android 9 ve önceki sürümler
Dolayısıyla uygulamanız API düzeyi 28 veya altını hedefleyebilir:
com.google.android.gms.permission.ACTIVITY_RECOGNITION
iznini isteyin.İzni manifest dosyasına ekleyin.
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>