Vücut sensörü verilerine arka planda erişim isteme

Android 13 ve Wear OS 4, uygulamaların nabız gibi vücut sensörlerine arka plandan erişmesi için bir yol sunar. Bu yeni erişim modeli, Android 10'da (API düzeyi 29) arka planda konum erişimini kullanıma sunan modele benzer.

Uygulamanızın arka planda vücut sensörü bilgilerine erişmesi gerekiyorsa (ör. Sağlık Hizmetleri verilerini arka planda izlerken) BODY_SENSORS_BACKGROUND izni istemeniz gerekir.

Gizlilikle ilgili en iyi uygulamalar sayfasında açıklandığı gibi uygulamalar, BODY_SENSORS_BACKGROUND iznini yalnızca kullanıcıya yönelik özellik açısından kritik öneme sahip olduğunda istemeli ve bu durumu kullanıcılara düzgün bir şekilde açıklamalıdır.

İzin verme süreci, uygulamanızın hedef SDK sürümüne bağlıdır.

Uygulama Android 13 veya sonraki bir sürümü hedefliyor

Manifest dosyanızda mevcut BODY_SENSORS iznine ek olarak, BODY_SENSORS_BACKGROUND iznini de beyan edin:

<uses-permission android:name="android.permission.BODY_SENSORS">
<uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND">

Ardından, uygulamanız bu izinleri ayrı işlemlerde istemelidir:

  1. BODY_SENSORS için izin verilip verilmediğini kontrol edin. Aksi takdirde izin isteyin.
  2. BODY_SENSORS_BACKGROUND için izin verilip verilmediğini kontrol edin. İstemiyorsanız izin isteyin.
Her zaman seçeneği, ayarlar ekranındaki ilk liste öğesidir
Şekil 1. Sensörler ayarında, arka plan sensörü verilerine erişim izni veren Her zaman adlı bir seçenek bulunur.

Dikkat: Uygulamanız aynı anda her iki vücut sensörü iznini isterse sistem bu isteği yok sayar ve uygulamanıza da izin vermez.

Android 13 (API düzeyi 33) ve sonraki sürümlerde, çalışma zamanı izni iletişim kutusunda "Her zaman izin ver" seçeneği bulunmaz. Bunun yerine, kullanıcılar Şekil 1'de gösterildiği gibi, sistem ayarlarından her zaman arka plan sensörü erişimini etkinleştirmelidir. BODY_SENSORS iznini verdikten sonra BODY_SENSORS_BACKGROUND iznini isterseniz kullanıcıların bu ayarlar sayfasına gitmesine yardımcı olabilirsiniz. Kullanıcılar erişimi her zaman reddederse uygulamanızı kullanmaya devam edebilirler.

Uygulama daha eski bir sürümü hedefliyor

Bağlantı metni &quot;ayarlara git&quot; şeklindedir.
Şekil 2. İzin iletişim kutusunda, kullanıcıları sistem ayarlarındaki uygulamanın sensör izinlerine yönlendiren bir bağlantı bulunur.

Uygulamanız Android 13'ten önceki bir Android sürümünü hedefliyorsa BODY_SENSORS iznini istediğinizde arka plan erişimi otomatik olarak verilmez. Bunun yerine kullanıcılar, Şekil 2'de gösterildiği gibi, kullanıcıları uygulamanızın sensör izni ayarlarına gitmeye davet eden bir sistem iletişim kutusu görürler. Ardından, kullanıcıların bu ayarlar sayfasında arka plan sensörü kullanımını etkinleştirmesi gerekir.

Kullanıcılar arka planda erişimi reddedebilir. Uygulamanız arka planda çalışırken BODY_SENSORS iznini iptal etmekle aynı etkiye sahiptir. Bir uygulama, arka planda erişim izni olmadan PassiveMonitoringClient hizmetini kullanıp arka plana gittiğinde BODY_SENSORS iznini kaybeder ve onPermissionLost() geri çağırması çağrılır. Bu nedenlerle, çalışma zamanı izinleri istemeyle ilgili en iyi uygulamaları izlemeniz özellikle önemlidir.