2011-08-22 35 views
5

¿Alguien sabe si hay una manera de detener un servicio de intención sin que termine su hilo de trabajo y se detenga solo?Detención de un servicio de intención

Pregunta simple, pero no pude encontrar la respuesta en la documentación. ¿Hay alguna forma simple de pararlo?

Gracias

+0

¿qué ocurre con 'stopService (intent);'? – binnyb

Respuesta

3

registrado un mensaje a un servicio es encolado onStartCommand se llama. que envía el mensaje para hacer cola. por lo que sólo podría invalidar onStartCommand, algo así:

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    if (intent.getAction().equals("Stop")) 
     stopSelf(); 
    onStart(intent, startId); 
    return START_NOT_STICKY; 
} 

aplausos

1

Actualmente me tropiezo con este requierement para una aplicación que estoy trabajando. Intentaré usar onStartCommand para enviar un mensaje al Servicio de Intención para dejar de trabajar (por ejemplo, configurar un indicador booleano stopWork = true) y evaluarlo durante el trabajo de trabajo o antes de la próxima tarea en cola. IntentService no se detendrá inmediatamente, pero saltará todas las tareas pendientes. Espero eso ayude. Voy a probarlo yo también.

Cuestiones relacionadas