Android Utiliser LocalBroadcastManager


Exemple

LocalBroadcastManager est utilisé pour envoyer des Intentions de diffusion dans une application, sans les exposer à des écouteurs indésirables.

Utiliser LocalBroadcastManager est plus efficace et plus sûr que d'utiliser directement context.sendBroadcast() , car vous n'avez pas à vous soucier des diffusions simulées par d'autres applications, ce qui peut constituer un risque de sécurité.

Voici un exemple simple d'envoi et de réception d'émissions locales:

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("Some Action")) {
            //Do something
        }
    }
});

LocalBroadcastManager manager = LocalBroadcastManager.getInstance(mContext);
manager.registerReceiver(receiver, new IntentFilter("Some Action"));

// onReceive() will be called as a result of this call:
manager.sendBroadcast(new Intent("Some Action"));//See also sendBroadcastSync

//Remember to unregister the receiver when you are done with it:
manager.unregisterReceiver(receiver);