استثناءات البث الضمني

كجزء من حدود التنفيذ في الخلفية لنظام التشغيل Android 8.0 (مستوى واجهة برمجة التطبيقات 26)، لا يمكن للتطبيقات التي تستهدف المستوى 26 من واجهة برمجة التطبيقات أو مستوى أعلى تسجيل أجهزة استقبال البث للإعلانات الضمنية في البيان ما لم يتم إرسال البث بشكل خاص إليها. مع ذلك، لا تنطبق هذه القيود على عمليات بث متعددة. يمكن للتطبيقات مواصلة تسجيل المستمعين لعمليات البث التالية، بغض النظر عن مستوى واجهة برمجة التطبيقات الذي تستهدفه التطبيقات.

ACTION_LOCKED_BOOT_COMPLETED، ACTION_BOOT_COMPLETED
يُستثنى من ذلك عمليات البث هذه لأن عمليات البث هذه لا يتم إرسالها إلا مرة واحدة عند التشغيل لأول مرة، وتحتاج العديد من التطبيقات إلى تلقّي عمليات البث هذه، مثلاً لتحديد المهام والمنبّهات.
ACTION_USER_INITIALIZE وandroid.intent.action.USER_ADDED وandroid.intent.action.USER_REMOVED
تحمي الأذونات المميزة عمليات البث هذه، لذلك لا يمكن لمعظم التطبيقات العادية تلقّيها على أي حال.
android.intent.action.TIME_SET وACTION_TIMEZONE_CHANGED وACTION_NEXT_ALARM_CLOCK_CHANGED
قد تحتاج تطبيقات الساعة إلى تلقّي عمليات البث هذه لتعديل المنبّهات عند تغيير الوقت أو المنطقة الزمنية أو المنبّهات.
ACTION_LOCALE_CHANGED
يتم إرسال هذه الرسالة فقط عند تغيير اللغة، وهذا في كثير من الأحيان. وقد تحتاج التطبيقات إلى تعديل بياناتها عند تغيير اللغة.
ACTION_USB_ACCESSORY_ATTACHED وACTION_USB_ACCESSORY_DETACHED وACTION_USB_DEVICE_ATTACHED وACTION_USB_DEVICE_DETACHED
عندما يحتاج أحد التطبيقات إلى معرفة الأحداث ذات الصلة بكابل USB، ليس هناك بديل جيد للتسجيل في البث.
BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED وBluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED وACTION_ACL_CONNECTED وACTION_ACL_DISCONNECTED
من غير المحتمل أن تتأثر تجربة المستخدم إذا تلقّت التطبيقات عمليات البث لهذه الأحداث التي تتم تتضمّن بلوتوث.
ACTION_CARRIER_CONFIG_CHANGED، TelephonyIntents.ACTION_*_SUBSCRIPTION_CHANGED، TelephonyIntents.SECRET_CODE_ACTION، ACTION_PHONE_STATE_CHANGED، ACTION_PHONE_ACCOUNT_REGISTERED، ACTION_PHONE_ACCOUNT_UNREGISTERED
قد تحتاج تطبيقات الاتصالات الهاتفية الخاصة بالمصنّعين الأصليين إلى تلقّي عمليات البث هذه.
LOGIN_ACCOUNTS_CHANGED_ACTION
تحتاج بعض التطبيقات إلى معرفة التغييرات التي تطرأ على حسابات تسجيل الدخول حتى تتمكن من إعداد العمليات المجدولة للحسابات الجديدة والتي تم تغييرها.
ACTION_ACCOUNT_REMOVED
تتلقى التطبيقات التي لديها إذن الوصول إلى حساب هذا البث عند إزالة الحساب. إذا كان هذا هو التغيير الوحيد في الحساب الذي يحتاج التطبيق لاتخاذ إجراء بشأنه، نقترح أن يستخدم التطبيق عملية البث هذه بدلاً من التغيير LOGIN_ACCOUNTS_CHANGED_ACTION المتوقّف نهائيًا.
ACTION_PACKAGE_DATA_CLEARED
لا يتم إرسال هذه الرسائل إلا عندما يمحو المستخدم بياناته بشكل صريح من "الإعدادات"، لذا من غير المحتمل أن تؤثر أجهزة استقبال البث بشكل كبير في تجربة المستخدم.
ACTION_PACKAGE_FULLY_REMOVED

تحتاج بعض التطبيقات إلى تحديث بياناتها المخزنة عند إزالة حزمة أخرى. بالنسبة لهذه التطبيقات، ليس هناك بديل جيد للتسجيل في هذا البث.

ملاحظة: لا يتم استثناء عمليات البث الأخرى ذات الصلة بالحزمة (مثل ACTION_PACKAGE_REPLACED) من قيود التنفيذ في الخلفية. وهذه عمليات البث شائعة بما فيه الكفاية بحيث يكون هناك تأثير محتمل في الأداء يمكن أن يؤدي إلى استثناء هذه الإعلانات.

ACTION_NEW_OUTGOING_CALL

يجب أن تتلقّى التطبيقات التي تتخذ إجراءات استجابةً لمكالمات المستخدمين هذا البث.

ACTION_DEVICE_OWNER_CHANGED

لا يتم إرسال هذا البث كثيرًا. تحتاج بعض التطبيقات إلى تلقيها، حتى تعرف أن حالة أمان الجهاز قد تغيرت.

ACTION_EVENT_REMINDER

يتم إرساله من قِبل calendar provider لنشر تذكير للحدث بتطبيق "تقويم". وبما أن موفِّر التقويم لا يعرف ما هو تطبيق التقويم، يجب أن يكون هذا البث ضمنيًا.

ACTION_MEDIA_MOUNTED، ACTION_MEDIA_CHECKING، ACTION_MEDIA_UNMOUNTED، ACTION_MEDIA_EJECT، ACTION_MEDIA_UNMOUNTABLE، ACTION_MEDIA_REMOVED، ACTION_MEDIA_BAD_REMOVAL

يتم إرسال عمليات البث هذه نتيجة لتفاعلات المستخدم الفعلية مع الجهاز، مثل تثبيت وحدات تخزين أو إزالتها، أو كجزء من عملية بدء التشغيل، عند تثبيت وحدات التخزين المتوفّرة. فهي ليست شائعة، وعادة ما تكون تحت سيطرة المستخدم.

SMS_RECEIVED_ACTION، WAP_PUSH_RECEIVED_ACTION

تعتمد تطبيقات مستلمي الرسائل القصيرة على عمليات البث هذه.