En mi pequeña aplicación, recibo una serie de cola onEventXXX(), del sistema (no controlada por mí).Método óptimo para posponer onEvent?
El tiempo de los que están enEventXXX() no está garantizado. Lo único garantizado es que se reciben en el pedido en el que se colocaron en la cola.
Dentro de onEventXXX() Tengo que iniciar una operación (O) que no se puede iniciar mientras está pasando otro proceso (P).
Pero no puedo descartar esta "activación de una operación (O)". Debo esperar hasta que el proceso (P) esté completo, y luego prenderlo.
IOW, tengo que poner en cola o al menos posponer esa "activación de una operación" hasta que se complete ese proceso (P).
Mi idea inmediata de la aplicación de esto fue que, en vez de disparar la operación (O), lo haría:
- iniciar un temporizador de un solo disparo que comprobar periódicamente el proceso (P)
- Cuando transcurre el temporizador, si el proceso (P) no está completo, inicie el tiempo (sí mismo) nuevamente.
- Cuando el temporizador haya transcurrido, si el proceso (P) está completo, inicie la operación (O).
Pero conociendo la riqueza de Android, sospecho que hay una forma mejor de hacerlo, ya integrada en el sistema/API.
Si hay una forma mejor de implementar lo anterior, ¿cuál sería?
¿Qué clase usas para "proceso"? java.lang.Process? –
[Process.waitfor()] (http://developer.android.com/reference/java/lang/Process.html#waitFor()) –