0

我想添加一个触发时间来开始工作,但我找不到使用工作管理器的方法,
这是我的代码

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

2 回答 2

2

您将无法指定应执行工作的确切时间。如果您需要在准确的时间执行任务而不管打盹模式,您应该使用 AlarmManager。

但是,您可以使用 WorkManager 设置初始延迟,如下所示:

OneTimeWorkRequest mywork=
        new OneTimeWorkRequest.Builder(MyWorker.class)
        .setInitialDelay(12, TimeUnit.HOURS)
        .build();
WorkManager.getInstance().enqueue(mywork);
于 2018-06-07T00:41:17.650 回答
0

用法正确;但是,我想您的时间间隔小于MIN_PERIODIC_INTERVAL_MILLIS

由于间隔必须大于或等于 15 分钟,因此 PeriodicWorkRequest 不会在您预期的周期结束时运行。

于 2018-06-06T16:02:42.477 回答