Cómo detener un IntentService?

Utilizo un IntentService para manejar grandes descargas de archivos en mi aplicación. Pero cuando quiero cancelar la descarga llamo a stopService(intent) . Sin embargo, el método onDestroy() se ha llamado, pero la descarga no se detiene. ¿Qué más debo hacer para cancelar la descarga? Gracias.

No he pensado esto por mí mismo, pero envío una Intent con:

 intent.putExtra("pause", "yes"); startService(intent); 

Y, a continuación, sobrescribir public int onStartCommand(Intent intent, int a, int b) dentro de IntentService (que no es recomendable) y ver que "pausa" es "sí" establezco un booleano estático mPaused a true . Si tiene un loop en onHandleIntent , agregue && !mPaused en la condición de bucle.

Por supuesto, todo esto es "malo" código y un hack … pero espero que alguien más entra en la forma correcta de hacer esto.

  • Paradas de servicio de Android
  • Obtener la lista de procesos en ejecución y eliminar sus servicios de fondo
  • ¿Cómo implementar mejor dos actividades que comparten un servicio (con conexión Bluetooth)?
  • Manejar onActivityResult en un servicio
  • Using android: process = ": remote" recrea el objeto de aplicación android
  • Solicitar contraseña antes de desinstalar la aplicación
  • Obtener una vista de AccessibilityNodeInfo para crear superposición
  • Iniciar un servicio en un proceso separado android
  • Ayúdame a usar correctamente los Servicios y los Hilos
  • Android: ¿Es mejor iniciar y detener un servicio cada vez que sea necesario o dejar que un servicio funcione y se vincule y se desvincule de él?
  • Cómo detener un IntentService mientras hay muchos IntentService en ejecución
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.