Android - Pare o receptor de transmissão sendo morto com serviço

Eu construí um aplicativo que implementa um número de receptores de broadcast e os registra dentro de um serviço com base nas configurações do usuário. O serviço está ligado a uma atividade que chama alguns dos seus métodos. Quando um receptor de broadcast é chamado, ele inicia o serviço (ou liga para o serviço se ele já estiver em execução) e passa uma string informando ao serviço o que fazer. Meu problema é quando a atividade é destruída (botão de volta) o serviço também é destruído, que por sua vez mata os receptores de transmissão.

Eu sei que posso registrar os receptores no manifesto, o que significaria fazer uma verificação quando eles são chamados para ver se o usuário selecionou essa opção. No entanto, um dos receptores críticos para a aplicação é o 'android.intent.action.HEADSET_PLUG', que pode ser registrado apenas de forma programática.

Então eu acho que a minha pergunta é, existe uma maneira de manter este receptor de transmissão ativo quando o serviço é destruído? Se não, alguém pode ver uma solução alternativa para esse problema?

Obrigado Rob

questionAnswers(1)

yourAnswerToTheQuestion