subscribeOn Android UI 线程

subscribeOn Android UI thread

我是 RxJava 的新手,我想我可能忽略了一些非常基本的东西。所以我创建了一个 Observable 来执行像这样的长 运行 I/O 任务。现在我想确保订阅者在 Android UI Thread:

上收到结果
Observable.create(new ObservableOnSubscribe<Device>() {
    @Override
    public void subscribe(@io.reactivex.annotations.NonNull final ObservableEmitter<Device> e) throws Exception {
        //Long running task
    }
}).subscribeOn(Schedulers.io())

如您所见,我已经在 Schedulers.io() 上完成了漫长的 运行 任务。如何切换回 Android UI 线程?

您必须执行 observeOn(AndroidSchedulers.mainThread())