worker manger doWork()方法无法执行,多次调用onStartWork()
Worker manger doWork() method can't be executed, but onStartWork() is called multiple times
我正在尝试在 1 分钟后应用程序启动时安排工作我需要做一些工作,应用程序是否仍在前台并不重要,但我需要这样做,但 我不不知道为什么我的 doWork 方法不是 运行,而是多次调用 onStart 方法
private void sacduleThePaddingNotifaction() {
OneTimeWorkRequest postNotationWithDelay =
new OneTimeWorkRequest.Builder(PostNotificationWork.class)
.setInitialDelay(1,TimeUnit.MINUTES)
.build();
WorkManager.getInstance().enqueue(postNotationWithDelay);
}
我的工人class
public class PostNotificationWork extends Worker {
@Override
public void onStartWork(@NonNull WorkFinishedCallback callback) {
Log.d("PostNotificationWork: ","onStartWork");//this called many times, some time 4 time
}
@NonNull
@Override
public Result doWork() {
Log.d("PostNotificationWork: ","Posting notification");
return Result.SUCCESS;
}
}
我正在使用 def work_version = "1.0.0-alpha07"
- 尝试更新到这个版本
def work_version = "1.0.0-alpha06"
implementation "android.arch.work:work-runtime:$work_version"
- 移除
@Override
public void onStartWork(@NonNull WorkFinishedCallback callback) {
Log.d("PostNotificationWork: ","onStartWork");//this called many times, some time 4 time
}
- 终于再试一次
请不要覆盖 onStartWork()
。即使你这样做,你也需要打电话给 super.onStartWork()
。我们仍在研究 NonBlockingWorker
API 的人体工程学。
我正在尝试在 1 分钟后应用程序启动时安排工作我需要做一些工作,应用程序是否仍在前台并不重要,但我需要这样做,但 我不不知道为什么我的 doWork 方法不是 运行,而是多次调用 onStart 方法
private void sacduleThePaddingNotifaction() {
OneTimeWorkRequest postNotationWithDelay =
new OneTimeWorkRequest.Builder(PostNotificationWork.class)
.setInitialDelay(1,TimeUnit.MINUTES)
.build();
WorkManager.getInstance().enqueue(postNotationWithDelay);
}
我的工人class
public class PostNotificationWork extends Worker {
@Override
public void onStartWork(@NonNull WorkFinishedCallback callback) {
Log.d("PostNotificationWork: ","onStartWork");//this called many times, some time 4 time
}
@NonNull
@Override
public Result doWork() {
Log.d("PostNotificationWork: ","Posting notification");
return Result.SUCCESS;
}
}
我正在使用 def work_version = "1.0.0-alpha07"
- 尝试更新到这个版本
def work_version = "1.0.0-alpha06" implementation "android.arch.work:work-runtime:$work_version"
- 移除
@Override public void onStartWork(@NonNull WorkFinishedCallback callback) { Log.d("PostNotificationWork: ","onStartWork");//this called many times, some time 4 time }
- 终于再试一次
请不要覆盖 onStartWork()
。即使你这样做,你也需要打电话给 super.onStartWork()
。我们仍在研究 NonBlockingWorker
API 的人体工程学。