LocalBroadcastManager
classLocalBroadcastManager
kotlin.Any | |
↳ | androidx.localbroadcastmanager.content.LocalBroadcastManager |
Helper to register for and send broadcasts of Intents to local objects within your process. This has a number of advantages over sending global broadcasts with android.content.Context#sendBroadcast:
- You know that the data you are broadcasting won't leave your app, so don't need to worry about leaking private data.
- It is not possible for other applications to send these broadcasts to your app, so you don't need to worry about having security holes they can exploit.
- It is more efficient than sending a global broadcast through the system.
Summary
Public methods | |
---|---|
static LocalBroadcastManager |
getInstance(@NonNull context: Context) |
Unit |
registerReceiver(@NonNull receiver: BroadcastReceiver, @NonNull filter: IntentFilter) Register a receive for any local broadcasts that match the given IntentFilter. |
Boolean |
sendBroadcast(@NonNull intent: Intent) Broadcast the given intent to all interested BroadcastReceivers. |
Unit |
sendBroadcastSync(@NonNull intent: Intent) Like |
Unit |
unregisterReceiver(@NonNull receiver: BroadcastReceiver) Unregister a previously registered BroadcastReceiver. |
Public methods
getInstance
@NonNull static fun getInstance(@NonNull context: Context): LocalBroadcastManager
registerReceiver
fun registerReceiver(
@NonNull receiver: BroadcastReceiver,
@NonNull filter: IntentFilter
): Unit
Register a receive for any local broadcasts that match the given IntentFilter.
Parameters | |
---|---|
receiver |
BroadcastReceiver: The BroadcastReceiver to handle the broadcast. |
filter |
IntentFilter: Selects the Intent broadcasts to be received. |
See Also
sendBroadcast
fun sendBroadcast(@NonNull intent: Intent): Boolean
Broadcast the given intent to all interested BroadcastReceivers. This call is asynchronous; it returns immediately, and you will continue executing while the receivers are run.
Parameters | |
---|---|
intent |
Intent: The Intent to broadcast; all receivers matching this Intent will receive the broadcast. |
Return | |
---|---|
Boolean |
Returns true if the intent has been scheduled for delivery to one or more broadcast receivers. (Note tha delivery may not ultimately take place if one of those receivers is unregistered before it is dispatched.) |
See Also
sendBroadcastSync
fun sendBroadcastSync(@NonNull intent: Intent): Unit
Like sendBroadcast(Intent)
, but if there are any receivers for the Intent this function will block and immediately dispatch them before returning.
unregisterReceiver
fun unregisterReceiver(@NonNull receiver: BroadcastReceiver): Unit
Unregister a previously registered BroadcastReceiver. All filters that have been registered for this BroadcastReceiver will be removed.
Parameters | |
---|---|
receiver |
BroadcastReceiver: The BroadcastReceiver to unregister. |
See Also