Existe alguma maneira confiável de obter um Context
de um Service
?
Quero registrar um receptor de transmissão, ACTION_PHONE_STATE_CHANGED
mas não preciso que meu aplicativo sempre obtenha essas informações, para não colocá-las no Manifest
.
No entanto, não consigo que o receptor de transmissão seja morto pelo GC quando preciso dessas informações, por isso estou registrando o receptor de transmissão em a Service
.
Por isso, preciso Context
ligar registerReceiver()
. Quando eu não precisar mais do ACTION_PHONE_STATE_CHANGED
que eu unregister -lo.
Alguma dica?
android
broadcastreceiver
android-service
user123321
fonte
fonte
Service
estendeContextWrapper
que se estendeContext
. Portanto, oService
é aContext
. Use a'this'
palavra-chave no serviço.fonte
Service
estendeContextWrapper
ContextWrapper
estendeContext
Assim....
(na classe de serviço ou atividade)
fonte
Como
Service
é aContext
, o contexto da variável deve serthis
:fonte
Como o Serviço já é um Contexto em si
você pode até conseguir:
OU
fonte
apenas no caso de alguém estar recebendo
NullPointerException
, você precisa entender o contextoonCreate().
Service
é aContext
, faça o seguinte:fonte