PeriodicWorkRequest触发时间

时间:2018-06-06 14:58:17

标签: android job-scheduling android-workmanager

我想添加一个触发时间来开始工作,我无法找到一种方法来做到这一点 与工作经理
这是我的代码

 PeriodicWorkRequest alarmWork =
            new PeriodicWorkRequest.Builder(
                    AlarmWorker.class,
                    interval ,
                    TimeUnit.MILLISECONDS
            ).setInputData(bundle).build();
    WorkManager.getInstance().enqueue(alarmWork)

2 个答案:

答案 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不会在您期望的时间段结束时运行。