【发布时间】:2019-05-06 15:47:21
【问题描述】:
我一直在研究ListenableWorker 类以使用新的工作管理器创建服务。但我在任何地方都找不到任何例子。任何描述工作经理的来源,都给出了 Worker 类的例子,它有一个很好的 doWork 方法,但它不符合我的要求。所以我希望你的帮助写一个很好的服务使用ListenableWorker 可以处理ListenableFuture
我已经尝试过 android 开发人员的文档,在他们的文档中,他们写过关于使用 guava 和使用并发期货的文章,两者都没有提供任何示例来编写简单的服务。我还观看了 workmanager 发布视频,其中 google 工程师解释了新 API,但他们的示例都在 Kotlin 中,我没有使用这些类。
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.concurrent.futures.CallbackToFutureAdapter;
import androidx.work.ListenableWorker;
import androidx.work.WorkerParameters;
import com.google.common.util.concurrent.ListenableFuture;
public class DistanceWorker extends ListenableWorker {
public DistanceWorker(Context context, WorkerParameters workerParameters){
super(context, workerParameters);
}
@NonNull
@Override
public ListenableFuture<Result> startWork() {
//what to write here ?
}
}
我只想返回一个未来,并想知道在我的工作完成后如何解决或拒绝那个未来。请帮助我理解它。
【问题讨论】:
-
谷歌文档解释了一半...
标签: android android-service android-workmanager