¿Cuál es la forma preferida de devolver una actividad de Android desde un hilo de servicio?

Actualmente estoy desarrollando una aplicación para Android que tiene las siguientes necesidades:

Un hilo de trabajo comenzó en un servicio. Este hilo realiza algún procesamiento y debe invocarse desde la Actividad principal y proporciona algunas respuestas asíncronas a la misma Actividad.

Invocar el Servicio de la Actividad es fácil (cosas de IBinder)

Mi pregunta ahora es sobre la implementación correcta de la devolución de llamada del servicio.

Primero iba a agregar un android.os.Handler en la Actividad y manejar las respuestas del hilo en MyActivity.handleMessage (Mensaje), pero esto requiere que le dé la referencia de este controlador al servicio. Entonces, ¿qué sucede cuando el sistema operativo Android decide destruir / recrear mi actividad debido a un cambio de orientación, por ejemplo? ¿Mi actividad permanece viva como se menciona (indirectamente) en el servicio? Si la Actividad se destruye / reconstruye de todos modos, ¿qué sucede con mi referencia del Controlador en el Servicio?

Supongo que no estoy usando el método correcto para devolver una actividad de un hilo de servicio, así que quería saber si alguien me puede indicar la forma correcta de hacerlo.

TIA

Respuestas a la pregunta(4)

Su respuesta a la pregunta