看起来ListenableWorker不再有@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)限制,但是我找不到或者找不到如何在我被覆盖的startWork()函数中正确返回ListenableFuture< Result>的示例。
据我所知,唯一的选择是返回一个SettableFuture.create< Result>(),但这仍然需要取消"RestrictedApi“警告/错误。
有人知道更简单的方法吗?
Edit:据我所知,这是使用CallbackToFutureAdapter.Completer的方法
override fun startWork(): ListenableFuture<Result> {
return CallbackToFutureAdapter.getFuture({
it.set(ListenableWorker.Result.success())
})
}
发布于 2019-05-17 05:31:43
根据Threading in ListenableWorker documentation page
您可以通过以下两种方法之一创建ListenableFutures:
如果您使用的是芭乐,请在gradle文件中使用ListeningExecutorService
.
councurrent-futures
并使用CallbackToFutureAdapter
.https://stackoverflow.com/questions/56176554
复制相似问题