android - Worker manager doWork()方法无法执行,但是onStartWork()被多次调用
问题描述
我正在尝试在应用程序在 1 分钟后启动时安排工作我需要做一些工作不管应用程序是否仍在前台但我需要这样做,但我不知道为什么我的 doWork 方法不运行。但是多次调用 onStart 方法
private void sacduleThePaddingNotifaction() {
OneTimeWorkRequest postNotationWithDelay =
new OneTimeWorkRequest.Builder(PostNotificationWork.class)
.setInitialDelay(1,TimeUnit.MINUTES)
.build();
WorkManager.getInstance().enqueue(postNotationWithDelay);
}
我的工人阶级
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 }
- 最后再试一次
推荐阅读
- javascript - JavaScript:尝试在(.properties)文件中编写两个通用方法来读取(获取)和写入(设置)属性()
- javascript - Angular HttpParams 到对象,Object.defineProperty 创建属性但超出范围
- google-app-engine - “无效的父母 ID!” 发送跟踪时
- javascript - ASP.NET MVC 上的取消按钮导致使用更新选项卡清空表
- r - Shiny Server:编译期间生成可下载的 PDF 失败(代码在本地运行)
- java - 使用套接字通信 EJB 项目和 java 应用程序?
- svn - Xcode 版本 10.0 (10A255) - 在源代码控制菜单中不显示与项目连接的 svn (subversion)
- java - 在 sqlite 中按两列排序
- wordpress - 来自地址的 Wordpress smtp 邮件不起作用
- java - Flowable 在 Flowable UI 上部署 flowable 应用程序