Android İzinleri

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 kullanıcı rızası ekranı örneği
Şekil 1. Android izinleri kullanıcı rızası ekranı.

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.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 istemeniz 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 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.

  1. İzni manifest dosyasına ekleyin.

    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
    
  2. İznin verilip verilmediğini kontrol edin:

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

  1. com.google.android.gms.permission.ACTIVITY_RECOGNITION iznini isteyin.

  2. İzni manifest dosyasına ekleyin.

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