Tengo un IntentSerivce
que se ejecuta en segundo plano a veces y puede ser un proceso bastante largo en ciertas instancias. Doy una opción para que el usuario salga de la aplicación, que básicamente se detiene e interroga e ignora cualquier notificación push GCM
. Pero si entró una notificación de inserción y el IntentService
tarda un tiempo en terminar haciendo lo que tiene que hacer (obtiene información de un servidor y envía una notificación al usuario si es necesario, como si hubiera llegado un mensaje nuevo o algo así).Deteniendo un servicio de intención de una actividad
Este es el problema, si el usuario elige "Salir" de la aplicación mientras el intentservice
aún se está ejecutando, seguirá recibiendo la notificación que yo no quiero. Sé que existe el método stopSelf()
para el servicio, pero debo detenerlo en una actividad cuando sé que el usuario "Salió" de la aplicación mediante un botón de menú. Enviar otro intent
al servicio no funciona, ya que los intentos se ponen en cola y llamar a context.stopService(intent);
en mi actividad tampoco funciona, así que ¿cómo más puedo detenerlo?
Posible duplicado de [Forzar un IntentService para detener de inmediato] (http://stackoverflow.com/questions/11258083/forcing- an-intentservice-to-stop-immediate) –