كما هو موضّح في صفحة أفضل ممارسات الخصوصية، يجب أن تطلب التطبيقات
الحصول على إذن "BODY_SENSORS_BACKGROUND" إذا كان مهمًا للمستخدمين
ويجب أن يفصحوا عن ذلك بشكل صحيح للمستخدمين.
تعتمد عملية منح الإذن على حزمة تطوير البرامج (SDK) المستهدَفة لتطبيقك
.
يستهدف التطبيق الإصدار 13 من نظام التشغيل Android أو الإصدارات الأحدث.
بالإضافة إلى إذن BODY_SENSORS الحالي، يجب الإفصاح عن
إذن BODY_SENSORS_BACKGROUND في ملف البيان:
بعد ذلك، على تطبيقك طلب الأذونات في عمليات منفصلة:
تحقَّق مما إذا تم منح "BODY_SENSORS". إذا لم يكن لديك إذن، اطلب الإذن.
تحقَّق مما إذا تم منح "BODY_SENSORS_BACKGROUND". إذا لم يكن الأمر كذلك، فاطلب
إذن.
الشكل 1. يتضمن إعداد أجهزة الاستشعار خيارًا يسمى جميع
الوقت، الذي يمنح أداة استشعار الخلفية إذنًا بالوصول إلى بيانات جهاز استشعار الخلفية.
تنبيه: إذا كان تطبيقك يطلب إذنَي أداة استشعار الجسم في
في الوقت نفسه، يتجاهل النظام الطلب ولا يمنح تطبيقك أيضًا
إذن.
في نظام التشغيل Android 13 (المستوى 33 لواجهة برمجة التطبيقات) والإصدارات الأحدث، لا يظهر مربّع حوار أذونات التشغيل
تضمين زر "السماح طوال الوقت" الخيار. بدلاً من ذلك، على المستخدمين تفعيل ميزة طوال الوقت
الوصول إلى أداة استشعار الخلفية من إعدادات النظام، كما هو موضّح في الشكل 1. عندما تريد
يجب طلب إذن "BODY_SENSORS_BACKGROUND" بعد منح
BODY_SENSORS، يمكنك مساعدة المستخدمين في الانتقال إلى صفحة الإعدادات هذه. في حال حذف
المستخدمين الذين يرفضون الوصول إلى الخدمة طوال الوقت، من المفترض أن يكون بإمكانهم مواصلة استخدام
التطبيق.
يستهدف التطبيق إصدارًا سابقًا
الشكل 2. يتضمن مربّع حوار الأذونات رابطًا لنقل المستخدمين إلى
أذونات أداة الاستشعار في التطبيق في إعدادات النظام.
عندما يستهدف تطبيقك إصدارًا من Android أقدم من Android 13، يتم استخدام الخلفية
لا يتم منح إذن الوصول تلقائيًا عند طلب BODY_SENSORS
إذن. بدلاً من ذلك، يظهر للمستخدمين مربع حوار نظام يدعو المستخدمين إلى الانتقال إلى
إعدادات أذونات أدوات الاستشعار في تطبيقك، كما هو موضّح في الشكل 2. بعد ذلك، يجب على المستخدمين
تفعيل استخدام أداة استشعار الخلفية في صفحة الإعدادات هذه.
يمكن للمستخدمين رفض إذن الوصول إلى البيانات في الخلفية. ويكون له نفس تأثير إلغاء
يمكنك الحصول على إذن "BODY_SENSORS" أثناء تشغيل تطبيقك في الخلفية. عندما يتم
هناك تطبيق يستخدم PassiveMonitoringClient بدون إذن الوصول إلى البيانات في الخلفية.
ثم ينتقل إلى الخلفية، يفقد التطبيق إذن BODY_SENSORS.
يتم طلب معاودة الاتصال onPermissionLost(). لهذه الأسباب، من
خاصةً اتّباع أفضل الممارسات لطلب بيئة التشغيل
الأذونات.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Request background access to body sensor data\n\nAndroid 13 and Wear OS 4 introduce a way for apps to access body sensors, such\nas heart rate, from the background. This new access model is similar to the one\nthat introduced [background location access in Android 10 (API level 29)](/training/location/permissions#request-background-location).\n\nIf your app needs to access body sensor information in background, such as when\n[monitoring Health Services data in the background](/health-and-fitness/guides/health-services/monitor-background), you must request the\n[`BODY_SENSORS_BACKGROUND`](/reference/android/Manifest.permission#BODY_SENSORS_BACKGROUND) permission.\n| **Note:** `BODY_SENSORS_BACKGROUND` is a restricted permission which cannot be held by your app until the installer adds your app to an allowlist, or until the user lets your app have the permission.\n\nAs described on the [privacy best practices](/privacy/best-practices) page, apps should only ask for\nthe `BODY_SENSORS_BACKGROUND` permission when it is critical to the user-facing\nfeature, and they should properly disclose this to users.\n\nThe process for granting the permission depends on your app's target SDK\nversion.\n\nApp targets Android 13 or higher\n--------------------------------\n\nIn addition to the existing [`BODY_SENSORS`](/reference/android/Manifest.permission#BODY_SENSORS) permission, declare the\n`BODY_SENSORS_BACKGROUND` permission in your manifest file: \n\n \u003cuses-permission android:name=\"android.permission.BODY_SENSORS\"\u003e\n \u003cuses-permission android:name=\"android.permission.BODY_SENSORS_BACKGROUND\"\u003e\n\nThen, your app must [request](/training/permissions/requesting) the permissions in separate operations:\n\n1. Check if `BODY_SENSORS` is granted. If not, request the permission.\n2. Check if `BODY_SENSORS_BACKGROUND` is granted. If not, request the permission.\n\n**Figure 1.** Sensors setting includes an option called **All the\ntime**, which grants background sensor data access. \n**Caution:** If your app requests both body sensor permissions at the\nsame time, the system ignores the request and doesn't grant your app either\npermission.\n\nOn Android 13 (API level 33) and higher, the runtime permission dialog doesn't\ninclude the \"Allow all the time\" option. Instead, users must enable all-the-time\nbackground sensor access from system settings, as shown in figure 1. When you\nrequest the `BODY_SENSORS_BACKGROUND` permission after granting the\n`BODY_SENSORS` permission, you can help users navigate to this settings page. If\nusers decline all-the-time access, they should be able to continue using your\napp.\n\n\u003cbr /\u003e\n\nApp targets an earlier version\n------------------------------\n\n**Figure 2.** Permission dialog includes a link to navigate users to the app's sensor permissions in system settings.\n\nWhen your app targets a version of Android earlier than Android 13, background\naccess isn't granted automatically when you request the `BODY_SENSORS`\npermission. Instead, users see a system dialog that invites users to navigate to\nyour app's sensor permission settings, as shown in figure 2. Then, users must\nenable background sensor usage on that settings page.\n\nUsers can decline the background access. It has the same effect as revoking the\n`BODY_SENSORS` permission while your app is running in the background. When an\napp is using [`PassiveMonitoringClient`](/reference/kotlin/androidx/health/services/client/PassiveMonitoringClient) without background access permission\nand goes into the background, the app loses the `BODY_SENSORS` permission, and\nthe [`onPermissionLost()`](/reference/kotlin/androidx/health/services/client/PassiveListenerService#onPermissionLost()) callback is called. For these reasons, it's\nespecially important that you follow best practices for requesting runtime\npermissions."]]