看起来ListenableWorker不再有@ RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)限制,但是我无法弄清楚或找到如何在我的重写的startWork()函数中正确返回ListenableFuture<Result>的示例。
据我所知,唯一的选择是返回SettableFuture.create<Result>(),但这仍然需要抑制“RestrictedApi”警告/错误。
谁知道一个更简单的方法吗?
编辑:这是我收集到的使用CallbackToFutureAdapter.Completer的方法
override fun startWork(): ListenableFuture<Result> {
return CallbackToFutureAdapter.getFuture({
it.set(ListenableWorker.Result.success())
})
}
setForegroundAsync()
,遵循长时间运行的工作者文档。这是唯一需要的API(构建通知是很多工作,但有很多指南)。如果您想添加特定的文档,请随时提交文档错误。 - ianhanniballake