Pregunta

Actualmente estoy disparando un Intento de un receptor de radiodifusión que a su vez iniciar una actividad.

A continuación, desde el mismo servicio otro Intención se dispara a un receptor de radiodifusión de eso en la actividad.

El problema es que la actividad no está recibiendo la Intención significado para él porque se dispara antes de que está vivo y el receptor de difusión se ha registrado.

Me preguntaba ¿Hay alguna forma para asegurarse de que una actividad está vivo antes de enviar una Intención?

O alguna otra solución para esto?

¿Fue útil?

Solución

¿Por qué se inicia la actividad si no está todavía vivo?

  

El mecanismo general para iniciar una nueva   la actividad si no es running-o   llevar la pila actividad al frente   Si se está ejecutando en el   del fondo es la de usar la   bandera en el NEW_TASK_LAUNCH   startActivity () llamada.

Eso o simplemente dar a la actividad de la oportunidad de comenzar antes de disparar la Intención.

Alternativamente, usted podría tratar de usar sendOrderedBroadcast para recuperar de nuevo los datos de la emisión y luego, posiblemente, hacer un nuevo intento.

public abstract void sendOrderedBroadcast (Intent intent, String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, String initialData, Bundle initialExtras)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top