¿Cómo establecer una programación persistente / regular en Android?

¿Cómo puedo ejecutar una acción (tal vez un intento) en cada tiempo especificado (por ejemplo, todos los días en 5AM)? Tiene que quedarse después de reiniciar el dispositivo, similar a cómo cron funciona.

No estoy seguro si puedo usar AlarmManager para esto, o puedo?

Si desea que se quede después de reiniciar el dispositivo, tiene que programar la alarma después de reiniciar el dispositivo.

Necesitarás tener el permiso RECEIVE_BOOT_COMPLETED en tu AndroidManifest.xml

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

También se necesita un BroadcastReceiver para capturar la intención ACTION_BOOT_COMPLETED

 <receiver android:name=".BootCompletedReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> 

Por último, sobreescriba el método onReceive en su BroadcastReceiver.

 public class BootcompletedReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //set alarm } } 

Edit: Mire el método setRepeating de AlarmManager para programar el 'cron de Android'.

Utilizando el BuzzBox SDK puede programar un trabajo cron en su aplicación:

 SchedulerManager.getInstance() .saveTask(context, "0 8-19 * * 1,2,3,4,5", YourTask.class); 

Donde "0 8-19 * * 1,2,3,4,5" es una cadena de cron que ejecutará su tarea una vez por hora, de 8am a 7pm, de lunes a viernes. Tarea puede ser lo que quieras, sólo tienes que implementar un método doWork. La biblioteca se encargará de la reprogramación en el reinicio, la adquisición del bloqueo de la sesión y la repetición de los errores.

Más información sobre el BuzzBox SDK aquí …

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.