Example of a LocalBroadcastManager
suggest changeA BroadcastReceiver is basically a mechanism to relay Intents through the OS to perform specific actions. A classic definition being
“A Broadcast receiver is an Android component which allows you to register for system or application events.”
LocalBroadcastManager is a way to send or receive broadcasts within an application process. This mechanism has a lot of advantages
- since the data remains inside the application process, the data cannot be leaked.
- LocalBroadcasts are resolved faster, since the resolution of a normal broadcast happens at runtime throughout the OS.
A simple example of a LocalBroastManager is:
SenderActivity
Intent intent = new Intent("anEvent");
intent.putExtra("key", "This is an event");
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
ReceiverActivity
- Register a receiver
``` LocalBroadcastManager.getInstance(this).registerReceiver(aLBReceiver, new IntentFilter(“anEvent”));
2. A concrete object for performing action when the receiver is called
> ```
private BroadcastReceiver aLBReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// perform action here.
}
};
- unregister when the view is not visible any longer.
@Override protected void onPause() { // Unregister since the activity is about to be closed. LocalBroadcastManager.getInstance(this).unregisterReceiver(aLBReceiver); super.onDestroy(); }
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents