Is there some approach to check if the RxBleConnection
instance is active or was disconnected? Or maybe some notification to track the moment of disconnection?
質問する
278 次
2 に答える
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
。
よろしくお願いします
于 2016-10-03T10:26:51.703 に答える
0
接続が成功したときに onConnectionReceived メソッドで受け取る RxBleConnection インスタンス。切断された場合、RxBleConnection は読み取り/書き込みなどの操作の実行に失敗し、コールバックでキャッチして接続が失敗したと判断できます。
ただし、最善の方法は、接続がアクティブでないことを確認するために、接続失敗のコールバック自体をチェックすることです。
ありがとうスワヤム
于 2016-09-16T18:06:34.573 に答える