Sobes.tech
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:

  1. 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
    }
}
  1. 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).