Android JobScheduler:使用setMinimumLatency和setPeriodic
我只是在玩Android JobScheduler:使用setMinimumLatency和setPeriodic,android,android-jobscheduler,Android,Android Jobscheduler,我只是在玩作业调度程序,有几件小事 其中之一是,尽管可以通过使用setMinimumLatency()延迟作业,但不能将其与setPeriodic()结合使用,因为会引发异常 我真的不明白为什么会这样。。。延迟定期作业的开始似乎是合理的,正如延迟一次性作业的开始也是合理的 如果您不能,那么使用JobScheduler,在JobService类的实现中,调用jobFinished(参数,重新调度)来调度将来启动的定期作业的最佳方法是什么在离开前重新安排onStartJob方法 另外,也不要忘记在o
作业调度程序
,有几件小事
其中之一是,尽管可以通过使用setMinimumLatency()
延迟作业,但不能将其与setPeriodic()
结合使用,因为会引发异常
我真的不明白为什么会这样。。。延迟定期作业的开始似乎是合理的,正如延迟一次性作业的开始也是合理的
如果您不能,那么使用
JobScheduler
,在JobService
类的实现中,调用jobFinished(参数,重新调度)来调度将来启动的定期作业的最佳方法是什么
在离开前重新安排onStartJob
方法
另外,也不要忘记在onStopJob
方法中返回true
,以便重新安排
,布尔值)在
JobService
类的实现中,调用jobFinished(params,reschedule)
在离开前重新安排onStartJob
方法
另外,也不要忘记在onStopJob
方法中返回true
,以便重新安排
,布尔值)“为什么不合理…”--“为什么开发人员X做了Y件事”的问题对于堆栈溢出来说不是很好,因为只有开发人员X才能权威地回答这个问题。“最好的方法是什么……”——即兴,要么立即安排工作,让您的工作服务跳过尚未到时间的工作,要么使用
AlarmManager
在您希望开始工作时获得控制。我已经用AlarmManager
完成了所有工作,但我认为JobScheduler
是推荐的前进方向。我考虑使用JobScheduler
的主要原因是,在我的AppWidgetProvider
中监听CONNECTIVITY\u CHANGE
在Android N中已不可能了。因此,我将从一个带有连接监听螺栓的AlarmManager
解决方案转到JobScheduler
(连接监听)解决方案…一个AlarmManager
插接。嘿,ho.P.S.“为什么它不合理”的问题是修辞性的…我把它重新表述为一句话。“我认为JobScheduler是推荐的前进方向”--是的,它是针对某一类工作的。它不会解决所有可能的工作类别。例如,你不会将它用于闹钟或日历提醒。你计划的用例恰好与任何单个API不一致。是的,我正在使用AlarmManager
来安排定期小部件刷新(比stockAppWidgetProvider
方法允许的灵活性更大,包括在缺少刷新时恢复连接后进行刷新)。这一切都运行得很好……但现在它们取消了connectivity\u CHANGE
:-(也许我需要保持我的AlarmManager
框架的完整性,并在每次刷新警报时安排一个JobService
(以监听连接),而不是像目前那样直接启动服务。“为什么不合理…”--“为什么开发人员X做了Y件事?”对于堆栈溢出,问题不是很好,因为只有开发人员X可以权威地回答这个问题。“什么是最好的方法…”--即兴,要么立即安排作业,让您的作业服务跳过尚未到时间的作业,要么使用AlarmManager
在您希望作业开始时获得控制权。我已经使用AlarmManager
一切正常,但我认为建议使用JobScheduler
展望未来。我考虑改用JobScheduler
的主要原因是,在我的AppWidgetProvider
中监听CONNECTIVITY\u变化在安卓N中不再可能。因此,我将从一个AlarmManager
解决方案(带有连接监听螺栓)改用JobScheduler
(连接监听)解决方案…一个AlarmManager
插接。嘿,ho.P.S.“为什么它不合理”的问题是修辞性的…我把它重新表述为一句话。“我认为JobScheduler是推荐的前进方向”--是的,它是针对某一类工作的。它不会解决所有可能的工作类别。例如,你不会将它用于闹钟或日历提醒。你计划的用例恰好与任何单个API不一致。是的,我正在使用AlarmManager
来安排定期小部件刷新(比stockAppWidgetProvider
方法允许的灵活性更大,包括在缺少刷新时恢复连接后进行刷新)。这一切都运行得很好……但现在它们取消了connectivity\u CHANGE
:-(也许我需要保持我的AlarmManager
框架的完整性,并在每次刷新警报时安排一个JobService
(以监听连接),而不是像目前那样直接启动服务。