getContext Android en un servicio en segundo plano

Uruk:

Estoy intentando crear un servicio que se ejecuta incluso cuando mi aplicación se cierra. Sin embargo, tengo que usar mi aplicación Contexto dentro de este servicio . Cuando la aplicación se está ejecutando, el servicio funciona tan bien, pero cuando cierro la aplicación (se llama () OnDestroy), los getContext()vuelve siempre null.

Servicio

public class SubscribeService extends Service {

    private Context context;

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        context = this; //Returns null when service is running on background
        context = MyApp.getContext(); //Also null
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        //do stuff using context
    }

MiApl

public class MyApp extends Application {

    private static Context context;

    public static Context getContext() {
        return context.getApplicationContext();
    }

    @Override
    public void onCreate() {
        context = getApplicationContext();
        super.onCreate();
    }
}

de inicio del servicio de la Actividad onCreate ()

startService(new Intent(this, SubscribeService.class));

¿Cómo debo usar el Contexto en este escenario?

Editar

Logrado conseguir que funcione correctamente después de Onik ayuda 's. Sólo tenía que llamar a la MyApp.getContext();anterior super.onCreate();, así:

@Override
public void onCreate() {
    context = MyApp.getContext();
    super.onCreate();
}
bueno:

Servicio extiende Contexto . Se puede utilizar this, donde thises la referencia a la Serviceinstancia.

Poner más detalles en mi comentario a continuación en relación con el siguiente código de SubscribeService clase:

@Override
public void onCreate() {
    super.onCreate();
    context = this;
    context = MyApp.getContext();
}

En sus Service's onCreate() context = thisno puede ser nullpor un paradigma fundamental de programación.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=183324&siteId=1
Recomendado
Clasificación