studio sirve que para contexto context activity android broadcastreceiver android-service

android - sirve - Obtener contexto en un servicio



que es context service en android (4)

¿Hay alguna forma confiable de obtener un Context de un Service ?

Quiero registrar un receptor de difusión para ACTION_PHONE_STATE_CHANGED pero no necesito mi aplicación para obtener siempre esta información, por lo que no la coloco en el Manifest .

Sin embargo, el GC no puede anular el receptor de difusión cuando necesito esta información, por lo que estoy registrando el receptor de difusión en un Service .

Por lo tanto, necesito un Context para llamar a registerReceiver() . Cuando ya no necesito el ACTION_PHONE_STATE_CHANGED lo desregistro

¿Algun consejo?


  1. Service extiende ContextWrapper
  2. ContextWrapper extiende el Context

Asi que....

Context context = this;

(en servicio o clase de actividad)


Dado que el Service es un Context , la variable contexto debe ser this :

DataBaseManager dbm = Utils.getDataManager(this);



Service extiende ContextWrapper que extiende Context . Por lo tanto, el Service es un Context . Utilice ''this'' palabra clave ''this'' en el servicio.