Completable.fromAction不执行rjava2中的代码

问题描述 投票:0回答:1
 Completable.fromAction(() -> startRecording()).subscribeOn(Schedulers.io()).subscribe(() -> {
        boolean startSuccess = mMediaRecorder.getState() == MediaRecorder.RECORDING_STATE;
        if (startSuccess) {
            updateView();
            startRepeatingTask();
        }
    },throwable -> {
        Logger.info("Record failed with exception" + throwable);
    }).dispose();

我正在尝试使用Completable.fromAction在后台执行代码,但是如果我使用subscriptionOn(Schedulers.io()),它就不会执行代码。

如果我删除subscribeOn(Schedulers.io()),它将在主线程中执行代码。我想在后台线程中执行代码。

android rx-java2
1个回答
0
投票

.fromAction更改为.fromCallable

可调用对象被设计为执行单个发射器,然后完成。实际文档说明here

.fromAction有点不同。文件here

© www.soinside.com 2019 - 2024. All rights reserved.