如何使用RxJava包装startActivityForResult?

问题描述 投票:2回答:1

如何从同一个“反应链”中的Activity开始并接收结果?是否有可能包装startActivityForResultonActivityResult;如果是这样我将如何实现?

java android rx-java2 rx-android
1个回答
1
投票

首先创建一个包装类,用于保存结果和请求代码以及意图。我们称之为结果

您可以在Activity类中创建PublishSubject字段。我们称之为主题。

然后你只需要调用subject.onNext(new Result(requestCode,resultCode,data));在你的onActivityResult方法中。

最后,您可以使用flatMap或其他基于您需要的运算符,以您对RX链的可观察方式链接主题。

抱歉格式不佳,我在手机上。

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