<receiver android:name=".MyReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
Introduction to Broadcast Receivers in Hindi
Introduction to Broadcast Receivers
- Broadcast Receiver Android में एक component होता है जो system या अन्य applications द्वारा भेजे गए broadcast messages को receive करता है।
- यह background में काम करता है और जब कोई specific event होता है, तो trigger हो जाता है।
- Android system कई predefined broadcasts भेजता है, जैसे BOOT_COMPLETED, BATTERY_LOW, AIRPLANE_MODE_CHANGED आदि।
- Apps अपने custom broadcasts भी भेज और receive कर सकते हैं।
- BroadcastReceiver का उपयोग system-wide announcements को handle करने के लिए किया जाता है, जैसे incoming calls, SMS received, network changes, आदि।
- इसे AndroidManifest.xml में intent-filter के साथ register किया जा सकता है या runtime में registerReceiver() method से dynamically register किया जा सकता है।
- दो प्रकार के Broadcast Receivers होते हैं:
- Static Broadcast Receiver: Manifest में declare किया जाता है और हमेशा system events को listen करता है।
- Dynamic Broadcast Receiver: Runtime में register किया जाता है और app के बंद होने पर काम करना बंद कर देता है।
- Security बढ़ाने के लिए, LocalBroadcastManager का उपयोग किया जाता है, जिससे केवल internal app components ही broadcasts भेज और receive कर सकते हैं।
- Android 8.0 (Oreo) से, background broadcast receivers पर restrictions लगा दी गई हैं ताकि battery consumption कम किया जा सके।
- Broadcast Receivers को अन्य components (Activities, Services) के साथ मिलाकर automation और event-driven tasks को manage किया जा सकता है।
Different ways to register a broadcast receiver in Hindi
Android में Broadcast Receiver को register करने के दो मुख्य तरीके होते हैं:
1. Static Registration (Manifest-Declared Receiver)
इस तरीके में AndroidManifest.xml फ़ाइल में <receiver> टैग के माध्यम से Broadcast Receiver को register किया जाता है।
यह हमेशा system broadcasts को सुन सकता है, चाहे app चल रही हो या नहीं।
Example:
⚠ Note: Android 8.0 (Oreo) और इसके बाद की versions में implicit broadcasts (जैसे BOOT_COMPLETED) के लिए manifest-declared receivers पर restrictions लगाई गई हैं।
2. Dynamic Registration (Runtime-Registered Receiver)
यह registerReceiver() method का उपयोग करके activity या service के अंदर programmatically register किया जाता है।
जब app open होती है, तब ही receiver active रहता है।
Example:
BroadcastReceiver myReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Battery Low!", Toast.LENGTH_SHORT).show();
}
};
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_LOW);
registerReceiver(myReceiver, filter);
Unregister करना ज़रूरी है, वरना memory leak हो सकता है:
unregisterReceiver(myReceiver);
NOTE:
- Static registration system-wide events के लिए अच्छा होता है, लेकिन background restrictions के कारण dynamic registration अधिक recommended है।
- LocalBroadcastManager (deprecated) का उपयोग local broadcasts के लिए किया जाता था, लेकिन अब इसके बदले LiveData या EventBus जैसी libraries use की जाती हैं।
- Ordered Broadcasts और Sticky Broadcasts भी Android में broadcast mechanisms का हिस्सा हैं।
Request
अगर आपको यह article useful या interesting लगा हो, तो please इसे अपने dosto aur family ke साथ जरूर share करें। आपका एक छोटा सा कदम हमें और अच्छा content बनाने के लिए motivate करता है। Thank you!
ध्यान दें कि इस page पर आपको कुछ ads भी देखने को मिल सकते हैं। इसके लिए हम आपसे माफी चाहते हैं। हम इस content को तैयार करने में काफी मेहनत और time लगाते हैं, ताकि आपको valuable जानकारी मिल सके। इन्हीं ads की मदद से हम ये काम continue कर पाते हैं।
आपके support और understanding के लिए दिल से धन्यवाद।