我们正在尝试使用您的框架升级现有应用程序,其他工作正常,如连接/读/写,但我们正面临通知/断开连接的问题
请您指导下列情况: -
代码: -
connection.writeDescriptor(
Defs.SVC_AUTOMATIONIO_UUID,
Defs.CHAR_AUTOMATION_IO,
Defs.DESC_CLIENT_CHAR_CONFIGURATION_UUID,
BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE
)
.subscribe(
this::onWriteSuccess,
this::onWriteFailure
);
connection.setupNotification(iCharUuid)
.flatMap(notificationObservable -> notificationObservable)
.subscribe(
this::onNotificationReceived,
this::onConnectionFailure
);
由于 Swayam
答案 0 :(得分:0)
通常,您不必手动编写描述符来启用通知。图书馆为你做。
尝试:(example)
rxBleConnection.setupNotification(Defs.DESC_CLIENT_CHAR_CONFIGURATION_UUID)
.flatMap(notificationObservable -> notificationObservable)
.subscribe(this::onNotificationReceived, this::onNotificationSetupFailure);
为了获得断开连接的回调:(example)
establishConnection
方法观察onError。 bleDevice.observeConnectionStateChanges().subscribe(this::onConnectionStateChange);
要检查您可以使用服务发现的特征:(example)
bleDevice.establishConnection(this, false)
.flatMap(RxBleConnection::discoverServices)
.first() // Disconnect automatically after discovery
.subscribe(this::processDiscoveredServices, this::onConnectionFailure);