首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用work Manager2.0返回ListenableFuture<Result>?

如何使用work Manager2.0返回ListenableFuture<Result>?
EN

Stack Overflow用户
提问于 2019-05-17 05:00:27
回答 1查看 2.5K关注 0票数 4

看起来ListenableWorker不再有@RestrictTo(RestrictTo.Scope.LIBRARY_GROUP)限制,但是我找不到或者找不到如何在我被覆盖的startWork()函数中正确返回ListenableFuture< Result>的示例。

据我所知,唯一的选择是返回一个SettableFuture.create< Result>(),但这仍然需要取消"RestrictedApi“警告/错误。

有人知道更简单的方法吗?

Edit:据我所知,这是使用CallbackToFutureAdapter.Completer的方法

代码语言:javascript
复制
override fun startWork(): ListenableFuture<Result> {
    return CallbackToFutureAdapter.getFuture({
        it.set(ListenableWorker.Result.success())
    })

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-17 05:31:43

根据Threading in ListenableWorker documentation page

您可以通过以下两种方法之一创建ListenableFutures:

如果您使用的是芭乐,请在gradle文件中使用ListeningExecutorService.

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56176554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档