Android - Asegúrese de que la actividad está vivo antes de disparar Intención?
-
22-09-2019 - |
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?
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)