使用工作管理器的定期工作请求不会重复工作



我尝试使用工作管理器每 20 分钟发送一次通知,一旦我第一次打开应用程序,它只发送一次,然后它不会再发送通知是什么原因

The build.gradle (app(

def work_version = "2.3.4"
implementation "androidx.work:work-runtime:$work_version"

工人阶级

public class MyWorker extends Worker {
Context context ;
public MyWorker(Context context, WorkerParameters workerParams) {
super(context, workerParams);
this.context = context ;
}
@NonNull
@Override
public Result doWork() {
NotificationHelper.PrepareNotification(context);
return Result.success();
}
}

生成定期工作请求

WorkRequest SendNotification = new PeriodicWorkRequest.Builder(MyWorker.class , 20 , TimeUnit.MINUTES)
.addTag("Notification")
.setInitialDelay(6 , TimeUnit.SECONDS)
.build() ;
WorkManager.getInstance(context).enqueue(SendNotification) ;

您使用了TimeUnit.SECONDS并将其设置为6秒。 工作经理的最短持续时间是15分钟!

最新更新