可以在android作业调度程序中以两种方式重新安排作业。
对于定期工作,哪一种更好的方法呢?
答案 0 :(得分:1)
我不会说有更好的方法。这取决于您的应用中作业的用例。两者都需要RECEIVE_BOOT_COMPLETED使用权限。
如果用户可以打开/关闭周期性任务(作业),或者有一个约束等待数据的作业,并且它应该在重新启动后持续存在,那么使用setPersisted(true)功能可能是有意义的。这样您就不必担心做任何事情,并且在启动时作业将自动从磁盘加载。根据我的理解,这项工作也应安排在重新启动之前停止的地方,以便更统一地安排工作。
否则,如果您不希望在收到BOOT_COMPLETED意图之前安排此作业(可能有很多原因),那么在收到此意图后可能是安排作业的正确位置。您还可能希望不仅在接收BOOT_COMPLETED意图时重新安排,而且还要重新安排其他意图,例如MY_PACKAGED_REPLACED。可以接收所有这些意图,并在同一个BroadcastReceiver中安排作业。
最有可能采用其他方式的其他原因。