Android İzinleri

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

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.

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

  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"/>