Como o serviço Android pode atualizar a interface do usuário da atividade que a iniciou?

Sou novo na programação do Android, por isso estou enfrentando alguns problemas gerais sobre como escolher a melhor maneira de projetar meu aplicativo.

O que eu quero fazer é basicamente um media player. Eu quero o media player para rodar em um serviço, porque eu quero jogar também quando a atividade não é exibida.

Minha pergunta é: como posso atualizar a interface do usuário em minha atividade, dependendo do fluxo de trabalho do serviço (por exemplo, a música muda e quero que o nome dela seja exibido)?

Eu acho que eu poderia usar um Gerenciador de Transmissão Local, a fim de enviar intenções do meu serviço para a minha atividade e invocar atualizações da interface do usuário (parece certo?)

MAS ... Eu quero que meu serviço faça algumas coisas enquanto estiver tocando música (como consultar / atualizar o DB). Por esse motivo eu estava pensando em executar o serviço em um processo diferente (ou thread?).

SO .. Eu acho que, executando o serviço em um processo diferente, não será capaz de usar o gerenciador de transmissão local (isso é certo?).

Espero ter explicado quais são as minhas dúvidas ... alguém pode ajudar?

Muito obrigado!

questionAnswers(1)

yourAnswerToTheQuestion