有没有办法使用RxAndroidBle从已连接的设备获取Subscription
?除了断开连接和再次连接外,我似乎找不到办法。
答案 0 :(得分:1)
您可能对从已连接的设备获取Subscription
感兴趣,而不是获取发出的RxBleConnection
的实例。
这更像是一个RxJava
问题:
您可以获得此类行为(Observable<RxBleConnection>
,如果已经发出,则会向任何下一个订阅者发出RxBleConnection
,例如使用RxReplayingShare
。它看起来像是:
Observable<RxBleConnection> connectionObservable = rxBleDevice.establishConnection(false)
.compose(ReplayingShare.instance());
然后,connectionObservable
的每个订阅者都会获得相同的RxBleConnection
,只要它有效。
要小心,因为有时BLE通信实现为有状态(即请求 - 响应模型),这种共享可能会引入一些难以发现的问题。
答案 1 :(得分:0)
No, you need to maintain the rxbleconnection
subscription and instance yourself. The library is stateless.