يوفّر Android 13 وWear OS 4 طريقة تتيح للتطبيقات الوصول من الخلفية إلى أجهزة استشعار الجسم، مثل معدّل نبضات القلب. ويشبه نموذج الوصول الجديد هذا النموذج الذي يوفّر الوصول إلى الموقع الجغرافي في الخلفية في Android 10 (مستوى واجهة برمجة التطبيقات 29).
إذا كان تطبيقك يحتاج إلى الوصول إلى معلومات أجهزة استشعار الجسم في الخلفية، مثلاً عند
مراقبة بيانات الخدمات الصحية في الخلفية، يجب طلب إذن BODY_SENSORS_BACKGROUND
.
كما هو موضّح في صفحة أفضل ممارسات الخصوصية، يجب ألا تطلب التطبيقات
إذن BODY_SENSORS_BACKGROUND
إلا عندما يكون الأمر مهمًا للميزة الموجّهة للمستخدمين،
كما يجب الإفصاح عن ذلك للمستخدمين بشكل صحيح.
تعتمد عملية منح الإذن على إصدار حزمة تطوير البرامج (SDK) المستهدَف لتطبيقك.
يستهدف التطبيق الإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث.
بالإضافة إلى إذن BODY_SENSORS
الحالي، يُرجى تعريف
إذن BODY_SENSORS_BACKGROUND
في ملف البيان:
<uses-permission android:name="android.permission.BODY_SENSORS">
<uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND">
بعد ذلك، يجب على تطبيقك طلب الأذونات في عمليات منفصلة:
- تحقَّق مما إذا تم منح
BODY_SENSORS
. إذا لم يكن لديك إذن، اطلب الإذن. - تحقَّق مما إذا تم منح
BODY_SENSORS_BACKGROUND
. إذا لم يكن الأمر كذلك، اطلب الإذن.
تحذير: إذا طلب تطبيقك إذنَي جهاز استشعار الجسم في الوقت نفسه، يتجاهل النظام الطلب ولا يمنحه أيًّا من الإذنَين.
في نظام التشغيل Android 13 (المستوى 33 لواجهة برمجة التطبيقات) والإصدارات الأحدث، لا يتضمّن مربّع حوار إذن التشغيل
الخيار "السماح طوال الوقت". بدلاً من ذلك، يجب على المستخدمين تمكين الوصول طوال الوقت
لأداة استشعار الخلفية من إعدادات النظام، كما هو موضح في الشكل 1. عند
طلب إذن BODY_SENSORS_BACKGROUND
بعد منحه
BODY_SENSORS
، يمكنك مساعدة المستخدمين على الانتقال إلى صفحة الإعدادات هذه. إذا رفض المستخدمون الوصول طوال الوقت، من المفترض أن يكونوا قادرين على مواصلة استخدام تطبيقك.
يستهدف التطبيق إصدارًا سابقًا
عندما يستهدف تطبيقك إصدارًا من نظام التشغيل Android أقدم من نظام التشغيل Android 13، لا يتم منح إذن الوصول إلى الخلفية تلقائيًا عند طلب الحصول على إذن BODY_SENSORS
. بدلاً من ذلك، يظهر للمستخدمين مربع حوار نظام يدعو المستخدمين إلى الانتقال إلى
إعدادات أذونات أداة الاستشعار في تطبيقك، كما هو موضح في الشكل 2. بعد ذلك، يجب على المستخدمين تمكين
استخدام أداة استشعار الخلفية في صفحة الإعدادات هذه.
يمكن للمستخدمين رفض الوصول في الخلفية. يؤدي هذا الإجراء إلى النتيجة نفسها التي يؤدي إليها إبطال
إذن "BODY_SENSORS
" أثناء تشغيل تطبيقك في الخلفية. عند
استخدام تطبيق لـ PassiveMonitoringClient
بدون إذن الوصول إلى الخلفية
ودخوله في الخلفية، سيفقد التطبيق إذن BODY_SENSORS
ويتم
استدعاء طلب معاودة الاتصال في onPermissionLost()
. لهذه الأسباب، من المهم جدًا أن تتّبع أفضل الممارسات لطلب أذونات وقت التشغيل.