¿Hay alguna forma confiable de obtener un Context
a Service
?
Quiero registrar un receptor de transmisión, ACTION_PHONE_STATE_CHANGED
pero no necesito que mi aplicación siempre obtenga esta información, así que no la pongo en el Manifest
.
Sin embargo, no puedo hacer que el GC elimine el receptor de transmisión cuando necesito esta información, así que estoy registrando el receptor de transmisión en a Service
.
Por lo tanto, necesito un Context
para llamar registerReceiver()
. Cuando ya no lo necesito, ACTION_PHONE_STATE_CHANGED
lo anulo .
¿Algun consejo?
android
broadcastreceiver
android-service
usuario123321
fuente
fuente
Service
se extiende loContextWrapper
que se extiendeContext
. Por lo tanto, elService
es aContext
. Use'this'
palabras clave en el servicio.fuente
Service
se extiendeContextWrapper
ContextWrapper
se extiendeContext
Entonces....
(en clase de servicio o actividad)
fuente
Como
Service
es aContext
, el contexto variable debe serthis
:fuente
Como el servicio ya es un contexto en sí mismo
incluso puedes hacerlo:
O
fuente
solo en caso de que alguien esté recibiendo
NullPointerException
, necesita obtener el contexto dentroonCreate().
Service
es unContext
, así que haz esto:fuente