Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中设置一个持久/定期的时间表?_Android_Cron_Scheduled Tasks_Scheduling_Scheduler - Fatal编程技术网

如何在Android中设置一个持久/定期的时间表?

如何在Android中设置一个持久/定期的时间表?,android,cron,scheduled-tasks,scheduling,scheduler,Android,Cron,Scheduled Tasks,Scheduling,Scheduler,如何在每个指定时间(例如每天早上5点)执行操作(可能是意图)?它必须在设备重新启动后保持,类似于cron的工作方式 我不确定是否可以使用AlarmManager进行此操作,或者我可以吗?如果您希望它在设备重新启动后保持不变,则必须在设备重新启动后安排报警 您需要在AndroidManifest.xml中拥有该权限 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 编辑:查看Ala

如何在每个指定时间(例如每天早上5点)执行操作(可能是意图)?它必须在设备重新启动后保持,类似于cron的工作方式


我不确定是否可以使用
AlarmManager
进行此操作,或者我可以吗?

如果您希望它在设备重新启动后保持不变,则必须在设备重新启动后安排报警

您需要在AndroidManifest.xml中拥有该权限

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

编辑:查看AlarmManager调度“Android cron”的方法。

使用BuzzBox SDK,您可以在应用程序中调度cron作业,具体操作如下:

SchedulerManager.getInstance()
.saveTask(context, "0 8-19 * * 1,2,3,4,5", YourTask.class);
其中,“0 8-19**1,2,3,4,5”是一个cron字符串,它将每小时运行一次任务,从周一到周五的上午8点到晚上7点。 您的任务可以是任何您想要的,您只需要实现一个doWork方法。该库将负责重新启动时的重新调度、获取唤醒锁以及在出现错误时重试


如果您的应用程序被用户或Android系统杀死,这对您没有帮助。一旦它这样做了,你的警报将被取消注册,你将永远不会被再次调用。我找不到任何关于通过cron表达式重复设置的信息!
public class BootcompletedReceiver extends BroadcastReceiver {

  @Override
  public void onReceive(Context context, Intent intent) {
     //set alarm
  }
}
SchedulerManager.getInstance()
.saveTask(context, "0 8-19 * * 1,2,3,4,5", YourTask.class);