Uso de Job Scheduler en la API de Android <21

Estaba viendo un tutorial de programación de Vogella . Menciona el Job Scheduler API que se introdujo en la API 21 de Android. Mi pregunta es que se puede implementar en APIs inferior a 21 (Lollipop), pero no menos de Android versión 3 (Honeycomb)?

6 Solutions collect form web for “Uso de Job Scheduler en la API de Android <21”

A partir de ahora (después de la E / S 2015), también puede usar el nuevo GcmNetworkManager. Aquí se describe cómo utilizarlo y cómo funciona: https://developers.google.com/cloud-messaging/network-manager

Hace un montón de cosas interesantes como que persiste sus tareas a través de reinicios. En Lolipop usa JobScheduler, en pre-Lolipop usa su propia implementación.

EDITAR:

Un código de ejemplo sobre cómo usarlo: https://github.com/jacktech24/gcmnetworkmanager-android-example

Hay una biblioteca de planificador de trabajo muy agradable y potente de Evernote. Utiliza el mejor método en cada nivel de SDK y te da una interfaz muy limpia y elegante para programar y ejecutar trabajos.

El enfoque recomendado para los dispositivos pre-lollipop es utilizar la https://github.com/firebase/firebase-jobdispatcher-android#user-content-firebase-jobdispatcher-

Más información en https://developer.android.com/topic/performance/scheduling.html#fjd

Firebase JobDispatcher es una biblioteca de código abierto que proporciona una API similar a JobScheduler en la plataforma Android. Firebase JobDispatcher sirve como una capa de compatibilidad con JobScheduler para aplicaciones orientadas a versiones de Android inferiores a 5.0 (API nivel 21).

Firebase JobDispatcher admite el uso de los servicios de Google Play como una implementación para el envío de trabajos, pero la biblioteca también le permite definir y utilizar otras implementaciones: Por ejemplo, puede decidir usar JobScheduler o escribir su propio código personalizado. Debido a esta versatilidad, le recomendamos que utilice esta Firebase JobDispatcher si su aplicación tiene como objetivo una versión de Android inferior a 5.0 (API nivel 21).

Para obtener más información sobre Firebase JobDispatcher, consulte su documentación y el código fuente.

Hay algunos métodos de funcionamiento de "trabajos" pre-lollipop.

Como se mencionó, puede utilizar la biblioteca JobSchedulerCompat , pero esta biblioteca tiene una gran diferencia en comparación con la API de Lollipop predeterminada:

En los trabajos de Lollipop se distribuyen por lotes y se programan para todas las aplicaciones a la vez. Sin embargo, la biblioteca no tiene acceso a otros datos de aplicaciones y, por lo tanto, no puede combinar trabajos de dos aplicaciones diferentes utilizando la biblioteca.

Otra opción que quizás quiera probar es la API de AlarmManager . Esta API se puede utilizar para la programación de trabajos, pero la única diferencia es que el AlarmManager no tiene restricciones distintas de la temporización para ejecutar trabajos.

Dado que KitKat la API de AlarmManager también procesa trabajos cuando no está programada con los métodos "exactos". Antes de que los trabajos de KitKat no se procesen por lotes.

Si su objetivo es sincronizar datos, puede ser útil la Sync-Adapter API: Sync-Adapter

Referencias: AlarmManager , JobSchedulerCompat

Puedes echar un vistazo a la biblioteca JobSchedulerCompat .

Sin embargo, como los autores señalan, hay una razón por la que JobScheduler sólo está disponible en Lollipop y en adelante, así que presta atención a eso. Citando:

Sin embargo, esta biblioteca no ha sido bien probada, por lo que aconsejaría no utilizar en la producción en este momento. No hay garantías de que esto no se agotará la batería o hacer que su dispositivo explote.

Consulte este enlace acerca de la vista general de la API de vista previa de Android N.

GCMNetworkManager , parte de Google Play Services, que ofrece una programación de tareas similar con compatibilidad entre versiones anteriores de Android.

  • ¿cuál es el mejor enfoque para escanear filesytem para archivos mp3 en android?
  • El servicio no se detiene incluso después de que el método onDestroy se llama en Android
  • ¿Cómo ejecutar el servicio no en el hilo principal?
  • Análisis BLE de Android en el servicio de fondo
  • Android servicio notificar actividad completó la mejor manera?
  • ¿Cuál es la forma preferida de volver a llamar a una actividad de Android desde un subproceso de servicio
  • Devolver un resultado de error en inKeyguardRestrictedInputMode ()
  • El servicio exportado no requiere permiso: ¿qué significa?
  • Escuchar permanentemente los cambios en el portapapeles
  • ¿Puede alguien explicar cuál es la diferencia entre el servicio no enlazado y enlazado en android
  • ¿Cómo implementar funcionalidades como Facebook "New Story" característica?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.