PeriodicWorkRequest 不考虑重复时间
PeriodicWorkRequest don't respect the repetition time
我对工作请求 (1.0.0-alpha10) 有疑问
假设我想每 5 小时启动一项工作(在我的例子中是通知),我会执行以下操作
static void StartWorker(){
PeriodicWorkRequest workRequest = new PeriodicWorkRequest.Builder(NotifyWorker.class, 5, TimeUnit.HOURS,3000,TimeUnit.MILLISECONDS)
.addTag("ok")
.build();
}
但问题是通知甚至在 20 分钟后才开始,这很奇怪,因为它真的是随机的,我知道两次通知之间不能恰好间隔 5 小时,但预计会在 4:30 小时内有点过分了。
NotifyWorker class是这样的:
public class NotifyWorker extends Worker {
public NotifyWorker(@NonNull Context context, @NonNull WorkerParameters params) {
super(context, params);
}
@NonNull
@Override
public Worker.Result doWork() {
// Method to trigger an instant notification
Context context= getApplicationContext();
notification();
return Worker.Result.SUCCESS;
}
}
我做错了什么?
我正在使用带有 Android 8.0.0 的 Galaxy S8 进行调试。
根据我的理解,Flex Interval是任务可以执行的最短等待时间。因此,您必须将弹性间隔从 300 毫秒更改为 295 分钟(4 小时 55 分钟)。
periodic work request
}
我对工作请求 (1.0.0-alpha10) 有疑问 假设我想每 5 小时启动一项工作(在我的例子中是通知),我会执行以下操作
static void StartWorker(){
PeriodicWorkRequest workRequest = new PeriodicWorkRequest.Builder(NotifyWorker.class, 5, TimeUnit.HOURS,3000,TimeUnit.MILLISECONDS)
.addTag("ok")
.build();
}
但问题是通知甚至在 20 分钟后才开始,这很奇怪,因为它真的是随机的,我知道两次通知之间不能恰好间隔 5 小时,但预计会在 4:30 小时内有点过分了。
NotifyWorker class是这样的:
public class NotifyWorker extends Worker {
public NotifyWorker(@NonNull Context context, @NonNull WorkerParameters params) {
super(context, params);
}
@NonNull
@Override
public Worker.Result doWork() {
// Method to trigger an instant notification
Context context= getApplicationContext();
notification();
return Worker.Result.SUCCESS;
}
}
我做错了什么? 我正在使用带有 Android 8.0.0 的 Galaxy S8 进行调试。
根据我的理解,Flex Interval是任务可以执行的最短等待时间。因此,您必须将弹性间隔从 300 毫秒更改为 295 分钟(4 小时 55 分钟)。
}