Tengo un servicio de Android que inicia y mantiene un hilo de fondo.¿Ejecutas código en el hilo principal en Android sin acceso a una actividad?
De vez en cuando, el hilo de fondo necesita hacer una devolución de llamada en el hilo principal. Estoy perplejo sobre cómo hacer esto.
No puedo llamar this.runOnUiThread porque "this" es una instancia de Servicio, no de Actividad, y un Servicio no tiene el método runOnUiThread.
Tampoco puedo crear o ejecutar una AsyncTask, porque la documentación de AsyncTask dice que tanto el constructor como el método de ejecución deben invocarse desde el subproceso de la interfaz de usuario.
¿Necesito mantener una referencia a la actividad que está utilizando el servicio y llamar a su método runOnUiThread, o hay otra manera de ejecutar algo en el hilo de la interfaz de usuario?
Gracias.
"el hilo de fondo necesita hacer una devolución de llamada en el hilo principal" - ¿por qué? – CommonsWare
El usuario del servicio es una actividad. Necesita devoluciones de llamada en el hilo principal para que pueda actualizar los elementos de la interfaz de usuario. Supongo que podría recuperar el hilo de fondo y hacerlo responsable de programar una devolución de llamada de UI, pero sería más conveniente para el consumidor del servicio si pudiera hacerlo. –
@Cruceo: Oh, cielos no. – CommonsWare