Broadcast

04 Jan 2023 . android .


Create Broadcast Receiver

In the activity you want to receive unread messages from the chat:

private val mMessageReceiver: BroadcastReceiver = object : BroadcastReceiver() {
		// update unread message numbers
    override fun onReceive(context: Context?, intent: Intent) {
        val unreadMessage = intent.getIntExtra("message", 0)
    }
}

Register the Broadcast Receiver

In the activity’s onCreate() method:

LocalBroadcastManager.getInstance(requireContext()).registerReceiver(
    mMessageReceiver,
    IntentFilter("chat-message")) 
		// Custom action name, the event will notify the receiver

Send Broadcast

In the activity you can get chat messages:

// Event happens
val intent = Intent("chat-message")
intent.putExtra("message", 1)
LocalBroadcastManager.getInstance(this).sendBroadcast(intent)