Qual é a maneira preferida de chamar uma atividade do Android de um segmento de serviço?

Atualmente estou desenvolvendo um aplicativo para Android que possui as seguintes necessidades:

Um thread de trabalho iniciado em um Serviço. Este encadeamento faz algum processamento e precisa ser chamado a partir da atividade principal e fornecer algumas respostas assíncronas para a mesma atividade.

Invocar o serviço da atividade é fácil (coisas do IBinder)

Minha pergunta agora é sobre a implementação adequada do retorno de chamada de serviço.

Eu ia primeiro adicionar um android.os.Handler na Activity e lidar com os anwers do thread em MyActivity.handleMessage (Message), mas isso requer que eu forneça a referência desse manipulador ao serviço. Então, o que acontece quando o Android OS decide destruir / recriar minha atividade devido a uma mudança de orientação, por exemplo? Minha atividade permanece ativa quando é referenciada (indiretamente) no serviço? Se a atividade foi destruída / reconstruída de qualquer maneira, o que acontece com a referência do meu manipulador no serviço?

Eu acho que não estou usando o método certo para chamar um Activity de um thread de serviço, então eu queria saber se alguém pode me apontar a maneira correta de fazer.

TIA

questionAnswers(4)

yourAnswerToTheQuestion