Android İzinleri

Android izinleri, Android kullanıcılarının gizliliğini korumayı amaçlar. Uygulamalar veya kişiler gibi hassas veri türlerine ve konum ya da adım algılama gibi sistem özelliklerine erişmek istediklerinde kullanıcıyı bilgilendirir. Kullanıcılar uygulamanızı ilk kez indirirken bu izinleri verir.

Uygulamanızın bu veri türlerinden (Google Fit veri türlerinin bir alt kümesi) herhangi birine erişmesi gerekiyorsa OAuth izinlerini istemeden önce ilgili Android iznini isteyin. Aşağıya bakın.

Android izinleri izin ekranı örneği
Şekil 1.Android izinleri izin ekranı.

Android izinlerine ihtiyaç duyan veri türleri

Bu fiziksel aktivite veri türlerine erişmek için ACTIVITY_RECOGNITION Android izni 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 izni 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 izni istemeniz gerekir:

  • com.google.heart_rate.bpm

Android izinleri isteme

Android izni isteme, fiziksel aktivite tanıma izni, ayrıntılı konum izni ve vücut sensörleri izni hakkında bilgi edinin.

Yukarıdaki veri türlerine Google Fit API'ları ile erişmek için hem Android 10 hem de Android'in önceki sürümleri için Android izinleri isteme işlemini işleyecek bir mantık uygulamanız gerekir. Bu örneklerde ACTIVITY_RECOGNITION izni kullanılmıştır.

Android 10

Böylece uygulamanız API düzeyi 29 veya üstünü hedefleyebilir, kullanıcıdan izin isteyebilir ve izni uygulama manifest dosyasına kaydedebilir.

  1. Manifest dosyasına izni ekleyin.

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

    if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION)
              != PackageManager.PERMISSION_GRANTED) {
          // Permission is not granted
    }
    
  3. İzin daha önce verilmemişse izni isteyin:

    ActivityCompat.requestPermissions(thisActivity,
                arrayOf(Manifest.permission.ACTIVITY_RECOGNITION),
                MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
    

Android 9 ve önceki sürümler

Böylece uygulamanız API düzeyi 28 veya önceki sürümleri hedefleyebilir:

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

  2. Manifest dosyasına izni ekleyin.

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