इंप्लिसिट ब्रॉडकास्ट से जुड़े अपवाद

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

एसएमएस पाने वाले ऐप्लिकेशन, इन ब्रॉडकास्ट पर निर्भर करते हैं.