Cómo obtener el progreso de un IntentService
Estoy trabajando en una aplicación de Android que necesita muchas llamadas de API. He construido un sistema que implementa un sistema de colas basado en un IntentService. La cosa es, me gustaría mostrar una actualización de ProgressBar exacta mientras IntentService se está ejecutando.
Una forma sería cambiar el sistema de colas a una serie de AsyncTasks. Tendría que mostrar el progreso usando onProgressUpdate()
.
- Cómo obtener el contexto en un servicio de intención
- StartForeground para IntentService
- ¿Hay un límite al tamaño de la cola en un IntentService?
- Android cómo comprobar si el servicio de intenciones sigue funcionando o si ha dejado de funcionar
- Utilizar Parcelable con un objeto con Hashmap
Otra forma sería ajustar el IntentService y obtener el progreso de un hilo de fondo.
La cosa es, me gustaría combinar IntentService y AsyncTask características agradables: hacer un sistema de cola que maneja fácilmente los eventos de interfaz de usuario. ¿Hay una mejor manera de implementar eso?
EDIT: He terminado usando AsyncTasks en lugar de IntentServices. Pero aún así, si alguien tiene un patrón agradable para compartir para actualizar el progreso de un IntentService, no dude en agregar su comentario.
- Cómo detener un IntentService mientras hay muchos IntentService en ejecución
- El método onHandleIntent () no se llama
- Biblioteca de clientes API de REST para Android
- ¿Cómo usar correctamente la biblioteca Volley con IntentService?
- Cómo utilizar Notification.deleteIntent
- Android: Uso de WebView fuera de un contexto de actividad
- IntentService onHandleIntent () sigue funcionando después de onDestroy () despedido
- Cómo enviar datos de IntentService a clase Non-Activity
Carné de identidad
- Iniciar un HandlerThread y un controlador
- Obtener un controlador para el hilo principal de la interfaz de usuario
- Publicar el trabajo en el hilo de fondo utilizando el controlador de ese hilo
- Publicar actualizaciones de progreso y resultados a la interfaz de usuario utilizando el controlador de subprocesos de interfaz de usuario
De esta manera usted puede tener un solo hilo de fondo para manejar su cola de trabajo, y publicar cualquier cosa que le guste volver al hilo de interfaz de usuario sin tratar con emisiones
Conmigo, para un IntentService, estaba pensando en emitir cuando iniciar la barra de progreso, y cuándo terminar la barra de progreso. Por lo general, puede utilizar el estándar "recibir de nuevo" para la parte final. Puede registrar difusiones de intenciones diferentes con cadenas diferentes.
La parte difícil fue averiguar un camino para la llamada para averiguar si la barra de progreso se cancela, y yo estaba pensando en tener una tabla de estado que se puede actualizar a medida que avanza la llamada REST. La tabla tendrá un identificador de la llamada, y después de que haya terminado, la entrada se borra. La tabla mantendrá un seguimiento si el hilo debe estar activo.
Por lo tanto, el hilo REST comprobará la tabla antes de cada envío, y detendrá todo / ignorará el envío de los datos si detecta una cancelación
- Las API de Google lanzan error de no-crunch para android
- Android ADK Modo de accesorio USB / modo de host