PeriodicWorkRequest 触发时间

PeriodicWorkRequest trigger time

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

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

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

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

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

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

OneTimeWorkRequest mywork=
        new OneTimeWorkRequest.Builder(MyWorker.class)
        .setInitialDelay(12, TimeUnit.HOURS)
        .build();
WorkManager.getInstance().enqueue(mywork);