我想添加一个触发时间来开始工作,我无法找到一种方法来做到这一点
与工作经理
这是我的代码
PeriodicWorkRequest alarmWork =
new PeriodicWorkRequest.Builder(
AlarmWorker.class,
interval ,
TimeUnit.MILLISECONDS
).setInputData(bundle).build();
WorkManager.getInstance().enqueue(alarmWork)
答案 0 :(得分:2)
您将无法指定应执行工作的确切时间。如果您需要在准确的时间执行任务而不管打盹模式,您应该使用AlarmManager。
但是,您可以使用WorkManager设置初始延迟,如下所示:
OneTimeWorkRequest mywork=
new OneTimeWorkRequest.Builder(MyWorker.class)
.setInitialDelay(12, TimeUnit.HOURS)
.build();
WorkManager.getInstance().enqueue(mywork);
答案 1 :(得分:0)
用法是正确的;但是,我认为您的间隔小于MIN_PERIODIC_INTERVAL_MILLIS
由于时间间隔必须大于或等于15分钟,因此PeriodicWorkRequest不会在您期望的时间段结束时运行。