The Android Developer Challenge is back! Submit your idea before December 2.

Cómo programar tareas con WorkManager parte de Android Jetpack

La API de WorkManager facilita la programación de tareas diferibles y asincrónicas que se deben ejecutar incluso si la app se cierra o se reinicia el dispositivo.

Funciones principales:

  • Ofrece retrocompatibilidad hasta la API nivel 14.
    • Usa JobScheduler en dispositivos con la API nivel 23 y niveles superiores.
    • Usa una combinación de BroadcastReceiver + AlarmManager en dispositivos con API nivel 14 a 22.
  • Agrega restricciones de trabajo, como la disponibilidad de la red o el estado de carga.
  • Programa tareas asíncronas únicas o periódicas.
  • Monitorea y administra tareas programadas.
  • Concatena tareas.
  • Garantiza la ejecución de tareas, incluso si la app o el dispositivo se reinician.
  • Se adhiere a las funciones de ahorro de energía, como el modo Descanso.

WorkManager está diseñado para tareas que son diferibles (es decir, que no es necesario ejecutarlas inmediatamente) y que se requieren para ejecutarse de manera confiable incluso si la app se cierra o el dispositivo se reinicia. Por ejemplo:

  • Envío de registros o análisis a servicios de backend
  • Sincronización periódica de los datos de la app con un servidor

WorkManager no está diseñado para el trabajo en segundo plano durante el proceso, que puede finalizar de manera segura si el proceso de la app desaparece, o para tareas que requieren ejecución inmediata. Revisa la guía de procesamiento en segundo plano para ver qué solución satisface tus necesidades.

Temas

Conceptos básicos

Guías prácticas

Conceptos avanzados

Guías de migración

Recursos adicionales

Ejemplos

  • WorkManagerSample, una app de procesamiento de imágenes sencilla
  • Sunflower, una app de demostración que muestra las prácticas recomendadas con varios componentes de arquitectura, incluido WorkManager

Codelabs

Videos

Blogs