Estou tentando iniciar a BroadcastReceiver
dentro de a Service
. O que estou tentando fazer é ter um plano de fundo em execução service
que coleta as mensagens de texto recebidas e registra as ligações recebidas. Achei que a melhor maneira de fazer isso é ter um service
funcionamento que incorpora um receptor de transmissão que pode catalogar qualquer um.
Como faço para fazer isso? Já tenho meu serviço instalado e funcionando.
android
sms
broadcastreceiver
android-service
Utopia025
fonte
fonte
O melhor padrão é criar um autônomo
BroadcastReceiver
. Isso garante que seu aplicativo possa responder à transmissão, esteja ou não emService
execução. Na verdade, usar esse padrão pode eliminar a necessidade de um funcionamento constanteService
.Registre o
BroadcastReceiver
em seu Manifesto e crie uma classe / arquivo separado para ele.Por exemplo:
Quando o receptor é executado, você simplesmente passa um
Intent
(Bundle
) para oService
e responde a ele emonStartCommand()
.Por exemplo:
fonte
Service
se ainda não estivesse em execução ou passaria um novoIntent
se estiver (para recuperação emonStartCommand
). Se você deseja que ele seja executado apenas quando oService
estiver ativo, você pode ativar / desativar programaticamente oReceiver
componente por meio doPackageManager
dosetComponentEnabledSetting()
.Receiver
vivo quando oService
está funcionando.