Android izinleri, Android kullanıcılarının gizliliğini korumayı amaçlar. Uygulamalar, kişiler veya fotoğraflar gibi hassas veriler için veri türlerine ve konum veya adım algılama gibi sistem özelliklerine erişmek istediğinde kullanıcıdan izin ister. Kullanıcılar, uygulamanızı ilk kez indirirken bu izinleri verir.
Uygulamanızın bu veri türlerinden herhangi birine erişmesi gerekiyorsa (Google Fit veri türlerinin bir alt kümesi) OAuth izinlerini istemeden önce ilgili Android iznini isteyin. Aşağıya bakın.
Android izinleri gerektiren veri türleri
Bu fiziksel aktivite veri türlerine erişmek için ACTIVITY_RECOGNITION Android iznini istemeniz gerekir:
Bu veri türlerini kaydetmek için:
com.google.step_count.deltacom.google.step_count.cumulativecom.google.step_count.cadencecom.google.activity.segmentcom.google.calories.expended
Bu veri türlerini okumak için:
com.google.step_count.deltacom.google.step_count.cumulativecom.google.step_count.cadencecom.google.activity.segmentcom.google.activity.exercise
Bu veri türlerine erişmek için ACCESS_FINE_LOCATION Android iznini istemeniz gerekir:
- Bu veri türlerini okumak için:
com.google.distance.deltacom.google.location.samplecom.google.location.bounding_boxcom.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 hareket tanıma izni, ayrıntılı konum izni ve vücut sensörleri izni hakkında bilgi edinin.
Google Fit API'leri ile yukarıdaki veri türlerine erişmek için hem Android 10 hem de Android'in önceki sürümleri için Android izinleri isteme işlemlerini yönetecek bir mantık uygulamanız gerekir. Bu örneklerde ACTIVITY_RECOGNITION izni kullanılmaktadır.
Android 10
Bu nedenle, uygulamanız hedef API düzeyi 29 veya sonraki sürümleri hedefleyebilir, kullanıcıdan izni isteyebilir ve izni uygulama manifest dosyasında 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 }İzin verilmemişse izni isteyin:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android 9 ve önceki sürümler
Uygulamanızın hedef API düzeyi 28 veya altını hedefleyebilmesi için:
com.google.android.gms.permission.ACTIVITY_RECOGNITIONiznini isteyin.İzni manifest dosyasına ekleyin.
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>