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
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.
Un IntentService
se detiene cuando ya no tiene que procesar más Intent
s (trabajos). Se ejecuta stopSelf(startId)
para cada Intent
(trabajo). Echar un vistazo a la fuente IntentService
o la Extending the Service Class
de aquí http://developer.android.com/guide/topics/fundamentals/services.html
- 1. Cómo detener un IntentService?
- 2. Erlang. Forma correcta para detener el proceso
- 3. cómo probar JUnit IntentService
- 4. Implementación de IntentService utilizando LinkedBlockingQueue?
- 5. Comportamiento inesperado de IntentService
- 6. ¿Cuál es la forma correcta de detener la autocompletación de los cuadros de entrada?
- 7. Múltiples instancias de IntentService en Android
- 8. forma correcta de utilizar StringBuilder
- 9. Forma correcta de probar gemas
- 10. Forma correcta de crear formularios
- 11. StartForeground para IntentService
- 12. Forma correcta de salir del programa de línea de comando?
- 13. Cómo detener ffmpeg de forma remota?
- 14. Multiple IntentService o un servicio
- 15. Forma correcta de deshacerse de un BackGroundWorker
- 16. ¿La forma correcta de deshacerse de Quartz.NET?
- 17. Forma correcta de heredar de std :: exception
- 18. Diseño de aplicaciones generales (IntentService/ContentProvider/AsyncTask)
- 19. ¿Bootstrap forma el diseño de la forma "correcta"?
- 20. Forma correcta de mostrar vistas modales consecutivas
- 21. Forma correcta de instalar Mercurial en Ubuntu
- 22. Forma correcta de inicializar Car sin firmar *
- 23. Forma correcta de almacenar coordenadas en Solr
- 24. ¿La forma correcta de finalizar un BeginInvoke?
- 25. Forma correcta de utilizar LINQ con CancellationToken
- 26. forma correcta de utilizar wp_get_attachment_image() en wordpress
- 27. Forma correcta de usar matrices en MonoMac
- 28. Forma correcta de desechar un BitmapSource
- 29. Forma correcta de vaciar una C-String
- 30. Backbone.js: ¿forma correcta de filtrar una colección?
Gracias, no estaba al tanto del hecho de que IntentService se detiene cuando está listo .:] – malinjir
Una esquina más en el SDK de Android ... suspiro. – markshiz
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