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
- जब किसी ऐप्लिकेशन को यूएसबी से जुड़े इन इवेंट के बारे में जानना होता है, तो ब्रॉडकास्ट के लिए रजिस्टर करने के अलावा कोई और बेहतर विकल्प नहीं होता.
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
कैलेंडर की सेवा देने वाली कंपनी ने इवेंट के रिमाइंडर को कैलेंडर ऐप्लिकेशन पर पोस्ट करने के लिए भेजा है. कैलेंडर की सेवा देने वाली कंपनी को यह नहीं पता कि कैलेंडर ऐप्लिकेशन क्या है. इसलिए, इस ब्रॉडकास्ट को इंप्लिसिट होना चाहिए.
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
एसएमएस पाने वाले ऐप्लिकेशन, इन ब्रॉडकास्ट पर निर्भर करते हैं.