java - bootreceived 上的工作经理
问题描述
我正在尝试启动,为什么工作管理器不会启动onbootreceived?
Constraints constraints = new Constraints.Builder().build();
PeriodicWorkRequest saveRequest = new PeriodicWorkRequest.Builder(UploadWorker.class, 1, TimeUnit.MINUTES)
.addTag("activation")
.build();
OneTimeWorkRequest otr = new OneTimeWorkRequest.Builder(UploadWorker.class).build();
WorkManager.getInstance().cancelAllWork();
WorkManager.getInstance().pruneWork();
WorkManager.getInstance().enqueueUniquePeriodicWork("activation", ExistingPeriodicWorkPolicy.REPLACE, saveRequest);
解决方案
你的代码有几个问题:
- 您没有指定任何约束
- doWork 应该返回 Result.success()/Result.failure()/Result.retry() 如果你想返回数据你应该使用这个 API: public static Result success(@NonNull Data outputData)
推荐阅读
- ruby-on-rails - 收到证书后意外生成新的 openssl 密钥
- c - Linux内核:定义内部调用'jiffies'的函数
- react-redux - Redux 状态已更改,但组件 props 未更新
- javascript - 从 localStorage 接收数据
- php - 弹出视图中的下载按钮
- java - 如何在 android studio 中使用 gradle 访问依赖项的依赖项?
- php - 如何在 HTML 文本区域中放置 PHP 值
- angular - 我可以链接这 2 个“.last”lodash 调用吗?
- java - 无法将数据放入表格元素中。没有找到这样的元素错误弹出
- kubernetes - Kubernetes 主节点 DNS 无法发现服务名称