Android izinleri, Android kullanıcılarının gizliliğini korumayı amaçlar. İstemleri Uygulamalar kişiler veya fotoğraflar gibi hassas verilerle ilgili veri türlerine erişmek istediğinde kullanıcı ve konum veya adım algılama gibi sistem özellikleridir. Kullanıcılar, uygulamanızı ilk kez indirirken bu izinleri verir.
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 gereken 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 aktivite algılama izni, hassas 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 Android 10 için Android izni isteme mantığını uygulayın.
Android'in önceki sürümleri. Bu örneklerde ACTIVITY_RECOGNITION izni kullanılmaktadır.
Android 10
Böylece uygulamanız API düzeyi 29 veya sonraki sürümleri 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"/>İzinin verilip verilmediğini kontrol edin:
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted }Henüz izin verilmediyse izni isteyin:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android 9 ve önceki sürümler
Bu nedenle, uygulamanız API düzeyi 28 veya altını hedefleyebilir:
com.google.android.gms.permission.ACTIVITY_RECOGNITIONizni isteyin.İzni manifest dosyasına ekleyin.
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>