La forma correcta de detener IntentService

Estoy usando un IntentService para subir imágenes a 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.

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

    IntentService se detiene automáticamente cuando termina onHandleIntent() , si no se le han enviado más comandos mientras se estaba ejecutando onHandleIntent() . Por lo tanto, usted no detiene manualmente un servicio de IntentService usted mismo.

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

    Por eso 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 dejas que el servicio de IntentService detenga.

    Un servicio de IntentService detiene cuando no tiene más Intent (trabajos) para procesar. Ejecuta stopSelf(startId) para cada Intent (trabajo). Eche un vistazo a la fuente de IntentService o Extending the Service Class desde http://developer.android.com/guide/topics/fundamentals/services.html