Junior — Middle
How to implement and register a BroadcastReceiver in an Android application?
sobes.tech AI
Answer from AI
BroadcastReceiver in Android is a component that allows an application to respond to system-wide or application-wide broadcast messages.
Implementation and registration of BroadcastReceiver:
- Create a class that inherits from BroadcastReceiver and override the onReceive method:
class MyReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
// handle received broadcast
}
}
- Registration of BroadcastReceiver can be of two types:
- Static registration — in AndroidManifest.xml:
<receiver android:name=".MyReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
- Dynamic registration — in code, for example, in an Activity or Service:
val receiver = MyReceiver()
val filter = IntentFilter(Intent.ACTION_BATTERY_CHANGED)
registerReceiver(receiver, filter)
// Don't forget to unregister
unregisterReceiver(receiver)
Dynamic registration allows receiving broadcasts only while the component is active, static registration — always (if permissions allow).