我正在尝试使用 RxJava2 异步启动 Firebase jobdispatcher。
@Override
public boolean onStartJob(JobParameters job) {
Completable.fromAction(new Action() {
@Override
public void run() throws Exception {
startMethod();
}
}).subscribeOn(mSchedulerProvider.io())
.observeOn(mSchedulerProvider.mainThread())
.subscribeWith(new DisposableCompletableObserver() {
@Override
public void onComplete() {
LOG.debug("onComplete");
onStopJob(job);
}
@Override
public void onError(Throwable e) {
}
});
return true;
}
@Override
public boolean onStopJob(JobParameters job) {
LOG.debug("stop job");
return true;
}
当我添加subscribeOn(mSchedulerProvider.io())
行时startMethod()
不会开始,如果我删除此行,则会startMethod()
在主线程中开始。