2012-04-20 38 views
18

Estoy usando un IntentService para cargar imágenes en un servidor. Mi problema es que no sé cómo/cuándo detener el servicio. Cuando llamo a stopself() en onHandleIntent (Intent ..) se eliminan todas las Intenciones que están esperando en la cola de IntentService. Pero no quiero detener el servicio de una actividad porque quiero completar el proceso de carga incluso si mi aplicación no se está ejecutando.Forma correcta de detener IntentService

Respuesta

43

Mi problema es que no sé cómo/cuándo parar el servicio.

IntentService se detiene automáticamente cuando onHandleIntent() extremos, si no hay más comandos habían sido enviados a ella mientras corría onHandleIntent(). Por lo tanto, no se detiene manualmente un IntentService usted mismo.

Cuando llamo a stopself() en onHandleIntent (Intención ..) se eliminan todas las entradas que están esperando en la cola de IntentService.

Es por eso que no haces eso.

Pero no quiero detener el servicio de una actividad porque quiero completar el proceso de carga incluso si mi aplicación no se está ejecutando.

Luego deja que el IntentService se detenga.

+0

Gracias, no estaba al tanto del hecho de que IntentService se detiene cuando está listo .:] – malinjir

+2

Una esquina más en el SDK de Android ... suspiro. – markshiz

+0

Tengo este problema aquí, la tarea supuestamente de 25 segundos a 1min no termina, por lo que mi intentService no finaliza - https://stackoverflow.com/questions/39976001/force-stop-a-stuck-intentservice-programmatically – mboy

Cuestiones relacionadas