Estoy tratando de refactorizar/rediseñar una aplicación de Android. Actualmente, tengo una actividad de IU (Activity 1
) que crea un DataThread
. Este hilo es responsable de la E/S de red e interactúa (proporciona datos) con la actividad de IU a través de handler
.Servicio de Android interactuando con múltiples actividades
Ahora, deseo agregar otra actividad (una nueva pantalla de interfaz de usuario con video) - Activity 2
. Activity 1
sigue siendo la actividad principal. Activity 2
se invocarán cuando el usuario haga clic en un botón en Activity 1
. Los datos de Activity 2
también provienen del DataThread
.
Mi idea es poner la lógica de mi DataThread
dentro de un Android Service
(DataService
). Mi pregunta es: ¿puede más que en la actividad vincular a mi DataService
al mismo tiempo? ¿Hay alguna manera de decirle al servicio que proporcione datos solo a una actividad específica?
¿Alguna otra idea es bienvenida?
Gracias de antemano.
estoy buscando una solución como esta, ¿hay algún ejemplo de trabajo o un enlace para obtener más detalles acerca de esta implementación, thx – Sam
@Rich ¿Cómo se las arregla para desvincularse limpiamente del Servicio cuando la aplicación termina si usted lo ha vinculado en su clase de aplicación? Debido a que Application # onTerminate() nunca se llama a los dispositivos de producción, consulte JavaDoc http://developer.android.com/reference/android/app/Application.html –
@SvenJacobs La única forma en que puedo pensar es: deje que el servicio llame ' stopSelf() 'después de un tiempo cuando todas las actividades están en pausa. Las actividades tienen que indicarle al servicio su estado en este caso cuando se pausan. Las actividades nunca llaman 'unbindService()' y el servicio se vincula al 'applicationContext' en cada onResume() de cada actividad. – OneWorld