是否有一些方法可以检查RxBleConnection
实例是处于活动状态还是已断开连接?或者也许是一些跟踪断开时刻的通知?
答案 0 :(得分:0)
连接成功时在方法onConnectionReceived中收到的RxBleConnection实例,如果断开连接,RxBleConnection将无法执行任何操作,如读/写,可以在回调中捕获以确定连接失败
然而,最佳方法是检查连接失败回调,以确定连接是否处于活动状态
由于 Swayam
答案 1 :(得分:0)
我认为您试图以非反应方式保持RxBleConnection
开放。在这种情况下,您需要自己跟踪连接状态。您可以使用帮助程序类来执行此操作:
static class ConnectionWithState {
RxBleConnection connection;
boolean isActive;
}
建立连接时,请执行:
final ConnectionWithState connectionWithState = new ConnectionWithState();
final Subscription connectionSubscription = bleDevice
.establishConnection(this, false)
.subscribe(
connection -> {
connectionWithState.connection = connection;
connectionWithState.isActive = true;
},
throwable -> connectionWithState.isActive = false,
() -> connectionWithState.isActive = false
);
断开连接需要您取消订阅connectionSubscription
。
最好的问候