- सिंटैक्स:
<receiver android:directBootAware=["true" | "false"] android:enabled=["true" | "false"] android:exported=["true" | "false"] android:icon="drawable resource" android:label="string resource" android:name="string" android:permission="string" android:process="string" > ... </receiver>
- इसमें शामिल:
<application>- इसमें ये एलिमेंट शामिल हो सकते हैं:
<intent-filter><meta-data><property>- विवरण:
- ब्रॉडकास्ट रिसीवर,
BroadcastReceiverसब-क्लास को ऐप्लिकेशन के कॉम्पोनेंट के तौर पर दिखाता है. ब्रॉडकास्ट रिसीवर की मदद से, ऐप्लिकेशन को ऐसे इंटेंट मिल सकते हैं जिन्हें सिस्टम या अन्य ऐप्लिकेशन ब्रॉडकास्ट करते हैं. भले ही, ऐप्लिकेशन के अन्य कॉम्पोनेंट काम न कर रहे हों.ब्रॉडकास्ट रिसीवर को सिस्टम के लिए उपलब्ध कराने के दो तरीके हैं. पहला तरीका यह है कि इसे इस एलिमेंट के साथ, मैनिफ़ेस्ट फ़ाइल में दिखाया जाए. दूसरा तरीका यह है कि कोड में डाइनैमिक तरीके से रिसीवर बनाया जाए और इसे
Context.registerReceiver()तरीके या इसके ओवरलोड किए गए किसी वर्शन के साथ रजिस्टर किया जाए.रिसीवर को डाइनैमिक तरीके से बनाने के बारे में ज़्यादा जानने के लिए,
BroadcastReceiverक्लास का ब्यौरा देखें.अगर यह रिसीवर, सिस्टम के ब्रॉडकास्ट के अलावा अन्य ब्रॉडकास्ट को भी हैंडल करता है, तो
android:exportedके लिए कोई वैल्यू तय करें. अगर आपको यह तय करना है कि आपका रिसीवर, अन्य ऐप्लिकेशन से ब्रॉडकास्ट रिसीव कर सकता है, तो इस वैल्यू को"true"पर सेट करें. वहीं, अगर आपको यह तय करना है कि आपका रिसीवर सिर्फ़ आपके ऐप्लिकेशन से ब्रॉडकास्ट रिसीव कर सकता है, तो इस वैल्यू को"false"पर सेट करें.अगर आपने
android:permissionएट्रिब्यूट को पहले ही तय कर दिया है, तो इसे हटाने की ज़रूरत नहीं है.चेतावनी: अपने ऐप्लिकेशन में ब्रॉडकास्ट रिसीवर की संख्या सीमित करें. बहुत ज़्यादा ब्रॉडकास्ट रिसीवर होने से, आपके ऐप्लिकेशन की परफ़ॉर्मेंस और उपयोगकर्ताओं के डिवाइस की बैटरी लाइफ़ पर असर पड़ सकता है. बैकग्राउंड में होने वाले काम को शेड्यूल करने के लिए,
BroadcastReceiverक्लास के बजाय इस्तेमाल किए जा सकने वाले एपीआई के बारे में ज़्यादा जानने के लिए, बैकग्राउंड ऑप्टिमाइज़ेशन लेख पढ़ें. - एट्रिब्यूट:
android:directBootAwareइससे यह पता चलता है कि ब्रॉडकास्ट रिसीवर डायरेक्ट-बूट अवेयर है या नहीं. इसका मतलब है कि यह उपयोगकर्ता के डिवाइस अनलॉक करने से पहले काम कर सकता है या नहीं.
ध्यान दें: डायरेक्ट बूट के दौरान, आपके ऐप्लिकेशन में मौजूद ब्रॉडकास्ट रिसीवर सिर्फ़ डिवाइस से सुरक्षित स्टोरेज में सेव किए गए डेटा को ऐक्सेस कर सकता है.
डिफ़ॉल्ट वैल्यू
"false"होती है.android:enabled- इससे यह पता चलता है कि सिस्टम, ब्रॉडकास्ट रिसीवर को इंस्टैंशिएट कर सकता है या नहीं. अगर सिस्टम, ब्रॉडकास्ट रिसीवर को इंस्टैंशिएट कर सकता है, तो इसकी वैल्यू
"true"होती है. वहीं, अगर सिस्टम, ब्रॉडकास्ट रिसीवर को इंस्टैंशिएट नहीं कर सकता, तो इसकी वैल्यू"false"होती है. डिफ़ॉल्ट वैल्यू"true"होती है.<application>एलिमेंट में अपनाenabledएट्रिब्यूट होता है. यह ब्रॉडकास्ट रिसीवर के साथ-साथ, ऐप्लिकेशन के सभी कॉम्पोनेंट पर लागू होता है. ब्रॉडकास्ट रिसीवर को चालू करने के लिए,<application>और<receiver>दोनों एट्रिब्यूट की वैल्यू"true"होनी चाहिए. अगर इनमें से किसी की भी वैल्यू"false"है, तो ब्रॉडकास्ट रिसीवर बंद हो जाता है और इसे इंस्टैंशिएट नहीं किया जा सकता. android:exported- इससे यह पता चलता है कि ब्रॉडकास्ट रिसीवर, अपने ऐप्लिकेशन के बाहर मौजूद, सिस्टम के अलावा अन्य सोर्स से मैसेज रिसीव कर सकता है या नहीं. अगर ब्रॉडकास्ट रिसीवर, अपने ऐप्लिकेशन के बाहर मौजूद, सिस्टम के अलावा अन्य सोर्स से मैसेज रिसीव कर सकता है, तो इसकी वैल्यू
"true"होती है. वहीं, अगर ब्रॉडकास्ट रिसीवर, अपने ऐप्लिकेशन के बाहर मौजूद, सिस्टम के अलावा अन्य सोर्स से मैसेज रिसीव नहीं कर सकता, तो इसकी वैल्यू"false"होती है. अगर इसकी वैल्यू"false"है, तो ब्रॉडकास्ट रिसीवर सिर्फ़ सिस्टम, उसी ऐप्लिकेशन के कॉम्पोनेंट या एक ही उपयोगकर्ता आईडी वाले ऐप्लिकेशन से भेजे गए मैसेज रिसीव करता है.अगर कोई वैल्यू तय नहीं की जाती है, तो डिफ़ॉल्ट वैल्यू इस बात पर निर्भर करती है कि ब्रॉडकास्ट रिसीवर में इंटेंट फ़िल्टर शामिल हैं या नहीं. अगर रिसीवर में कम से कम एक इंटेंट फ़िल्टर शामिल है, तो डिफ़ॉल्ट वैल्यू
"true"होती है. इसके अलावा, डिफ़ॉल्ट वैल्यू"false"होती है.ब्रॉडकास्ट रिसीवर के बाहरी सोर्स से मिलने वाले मैसेज को सीमित करने का यह इकलौता तरीका नहीं है. आपके पास अनुमति का इस्तेमाल करके, उन बाहरी सोर्स को सीमित करने का विकल्प भी होता है जो ब्रॉडकास्ट रिसीवर को मैसेज भेज सकते हैं.
permissionएट्रिब्यूट देखें. android:icon- यह ब्रॉडकास्ट रिसीवर को दिखाने वाला आइकॉन है. इस एट्रिब्यूट को, ड्रॉएबल रिसॉर्स के रेफ़रंस के तौर पर सेट किया जाता है. इसमें इमेज की परिभाषा शामिल होती है.
अगर इसे सेट नहीं किया जाता है, तो इसके बजाय पूरे ऐप्लिकेशन के लिए तय किया गया आइकॉन इस्तेमाल किया जाता है.
<application>एलिमेंट काiconएट्रिब्यूट देखें.ब्रॉडकास्ट रिसीवर का आइकॉन, चाहे इसे यहां सेट किया गया हो या
<application>एलिमेंट से, रिसीवर के सभी इंटेंट फ़िल्टर के लिए डिफ़ॉल्ट आइकॉन भी होता है.<intent-filter>एलिमेंट काiconएट्रिब्यूट देखें. android:label- यह ब्रॉडकास्ट रिसीवर के लिए, उपयोगकर्ता के हिसाब से पढ़ने लायक लेबल है. अगर इस एट्रिब्यूट को सेट नहीं किया जाता है, तो इसके बजाय पूरे ऐप्लिकेशन के लिए सेट किया गया लेबल इस्तेमाल किया जाता है.
<application>एलिमेंट काlabelएट्रिब्यूट देखें.ब्रॉडकास्ट रिसीवर का लेबल, चाहे इसे यहां सेट किया गया हो या
<application>एलिमेंट से, रिसीवर के सभी इंटेंट फ़िल्टर के लिए डिफ़ॉल्ट लेबल भी होता है.<intent-filter>एलिमेंट काlabelएट्रिब्यूट देखें.लेबल को स्ट्रिंग रिसॉर्स के रेफ़रंस के तौर पर सेट किया जाता है, ताकि इसे उपयोगकर्ता इंटरफ़ेस में मौजूद अन्य स्ट्रिंग की तरह स्थानीय भाषा में बदला जा सके. हालांकि, ऐप्लिकेशन डेवलप करते समय, इसे रॉ स्ट्रिंग के तौर पर भी सेट किया जा सकता है.
android:name- यह उस क्लास का नाम है जो ब्रॉडकास्ट रिसीवर को लागू करती है. यह
BroadcastReceiverका सबक्लास है. यह पूरी तरह क्वालिफ़ाइड क्लास का नाम है. जैसे,"com.example.project.ReportReceiver". हालांकि, शॉर्टहैंड के तौर पर, अगर नाम का पहला वर्ण पीरियड है, तो इसे".ReportReceiver"एलिमेंट में तय किए गए पैकेज के नाम में जोड़ा जाता है.<manifest>अपने ऐप्लिकेशन को पब्लिश करने के बाद, इस नाम में बदलाव न करें. हालांकि, अगर आपने
android:exported="false"सेट किया है, तो नाम में बदलाव किया जा सकता है.कोई डिफ़ॉल्ट वैल्यू नहीं है. नाम तय करना ज़रूरी है.
android:permission- यह उस अनुमति का नाम है जिसकी ज़रूरत ब्रॉडकास्टर को, ब्रॉडकास्ट रिसीवर को मैसेज भेजने के लिए होती है.
अगर इस एट्रिब्यूट को सेट नहीं किया जाता है, तो ब्रॉडकास्ट रिसीवर पर
<application>एलिमेंट केpermissionएट्रिब्यूट से सेट की गई अनुमति लागू होती है. अगर दोनों एट्रिब्यूट सेट नहीं किए जाते हैं, तो रिसीवर को अनुमति से सुरक्षा नहीं मिलती.अनुमतियों के बारे में ज़्यादा जानने के लिए, ऐप्लिकेशन मैनिफ़ेस्ट की खास जानकारी में अनुमतियां सेक्शन और सुरक्षा से जुड़े सुझावलेख पढ़ें.
android:process- यह उस प्रोसेस का नाम है जिसमें ब्रॉडकास्ट रिसीवर काम करता है.
आम तौर पर, ऐप्लिकेशन के सभी कॉम्पोनेंट, ऐप्लिकेशन के लिए बनाई गई डिफ़ॉल्ट प्रोसेस में काम करते हैं. इसका नाम, ऐप्लिकेशन पैकेज के नाम जैसा ही होता है.
The
<application>एलिमेंट काprocessएट्रिब्यूट, सभी कॉम्पोनेंट के लिए अलग डिफ़ॉल्ट सेट कर सकता है. हालांकि, हर कॉम्पोनेंट, अपनेprocessएट्रिब्यूट से डिफ़ॉल्ट को ओवरराइड कर सकता है. इससे आपके ऐप्लिकेशन को एक से ज़्यादा प्रोसेस में फैलाया जा सकता है.अगर इस एट्रिब्यूट को असाइन किया गया नाम, कॉलन (
:) से शुरू होता है, तो ज़रूरत पड़ने पर ऐप्लिकेशन के लिए एक नई निजी प्रोसेस बनाई जाती है. साथ ही, ब्रॉडकास्ट रिसीवर उस प्रोसेस में काम करता है.अगर प्रोसेस का नाम, छोटे अक्षर से शुरू होता है, तो रिसीवर उस नाम की ग्लोबल प्रोसेस में काम करता है. हालांकि, इसके लिए उसके पास अनुमति होनी चाहिए. इससे अलग-अलग ऐप्लिकेशन में मौजूद कॉम्पोनेंट, एक प्रोसेस शेयर कर पाते हैं. इससे रिसॉर्स का इस्तेमाल कम होता है.
- पहली बार इसमें दिखाया गया:
- एपीआई लेवल 1
<रिसीवर>
इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं.
आखिरी बार 2026-07-01 (UTC) को अपडेट किया गया.
[[["समझने में आसान है","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"]],["आखिरी बार 2026-07-01 (UTC) को अपडेट किया गया."],[],[]]