RxJava,我可以多次订阅和取消订阅可观察的内容吗?

时间:2019-10-28 18:09:08

标签: android rx-java2

我有一个正在运行并扫描BLE设备的服务,通过该服务,我通过知道mac地址为特定设备读取了该设备,现在问题出在我读取帧以及通过设备正在流传输的那些帧上时将某个进程运行几分钟,当设备发送另一个流说不再需要该进程运行时,我必须将其关闭。

我正在使用RxJava,但是对此我还很陌生,所以我有一个可观察到的东西正在执行该过程,因此,每当我打开该过程时,我都想订阅该过程并开始执行它,并且在我收到信号时关闭它,取消订阅Observable。

我的问题是,我必须多次运行此过程,我可以多次订阅和取消订阅该可观察的消息吗?

1 个答案:

答案 0 :(得分:0)

  

我的问题是,我必须多次运行此过程,我可以多次订阅和取消订阅该可观察的消息吗?

是的。只需将Observable.subscribe()的返回值分配给Disposable,当您想停止观察/取消订阅时,调用Disposable.dispose(),然后在您想开始观察时重新订阅Observable再次。