studio start sendbroadcast que permisos oreo example ejemplo android ipc broadcastreceiver

start - sendbroadcast android



¿Cómo puedo notificar una actividad en ejecución desde un receptor de difusión? (1)

La emisión es la notificación. :) Si desea decir, iniciar una actividad o un servicio, etc., en función de una emisión recibida, necesita un receptor de difusión independiente y poner eso en su archivo manifiesto. Sin embargo, si desea que su propia actividad responda a las transmisiones, cree una instancia de un receptor de difusión en su actividad y regístrela allí.

El patrón que uso es:

public class MyActivity extends Activity { private BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(...) { ... } }); public void onResume() { super.onResume(); IntentFilter filter = new IntentFilter(); filter.addAction(BROADCAST_ACTION); this.registerReceiver(this.receiver, filter); } public void onPause() { super.onPause(); this.unregisterReceiver(this.receiver); } }

Por lo tanto, de esta manera se crea una instancia del receptor cuando se crea la clase (también podría hacerlo en onCreate). Luego, en onResume / onPause, me ocupo de registrar y desregistrar el receptor. Luego, en el método onReceive del receptor, onReceive lo que sea necesario para que la actividad reaccione de la manera que quiero cuando reciba la transmisión.

Tengo una actividad, necesita responder a un evento de transmisión. Como una actividad no puede ser un receptor de difusión al mismo tiempo, hice un receptor de difusión.

Mi pregunta es: ¿cómo puedo notificar la actividad desde el receptor de difusión? Creo que esta es una situación común, entonces, ¿hay un patrón de diseño para esto?