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.
- Android: envía los datos de la ubicación en segundo plano periódicamente (cada 30 segundos) y solicita al servidor nuevos datos
- ¿Cómo comprobar si un servicio ya se está ejecutando o no en android?
- Cómo obtener el contexto de la aplicación
- No se puede resolver Manifest.permission.ACCESS_FINE_LOCATION
- Evitar que algunos usuarios cierren el servicio de Android
- Android - ¿Utilizando el método de un servicio en una actividad?
- Cómo anular el registro de escuchas y detener el servicio desde dentro de broadcastreceiver
- Android Asynctask vs Runnable vs timertask vs Servicio
- Servicio Android-Comunicación de 2 vías
- El servicio de fondo de Android se está reiniciando cuando se cancela la aplicación
- Cómo enviar datos de IntentService a clase Non-Activity
- Cómo establecer la prioridad de IntentService en Android
- Creación de un servicio de fondo en Android
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.
- Detectar si Android SurfaceView está dibujando / moviendo
- Cómo agregar un Marcador / Pin en un Android de ImageView?