我在设置多个特征的通知时遇到问题。 我已经查看了文档,许多示例仅涵盖非常精细的情况。
我的用例如下: 1.扫描设备 2.用户选择要连接的设备(连接持续到应用程序关闭) 3.订阅许多特征的通知 4.一次读/写单个特性,在某些情况下一次读/写多个特性
答案 0 :(得分:0)
我现在就开始工作了。问题是我需要使用RxBleConnection
的实例来进行后续连接
答案 1 :(得分:0)
这是我多次写入的解决方案
mConnObservable.flatMap(rxBleConnection -> {
return rxBleConnection.writeCharacteristic(SSID, mSsidView.getText().toString().getBytes())
.flatMap(ssidBytes -> rxBleConnection.writeCharacteristic(SSID2, mPassPhrase.getText().toString().getBytes())
.flatMap(ssid2Bytes -> rxBleConnection.writeCharacteristic(SSID3, mSecurityModeSpinner.getSelectedItem().toString().getBytes())));
})
.observeOn(AndroidSchedulers.mainThread())
.subscribe(ssid3Bytes -> {
//do something
}, this::onError, this::onComplete);
你应该将其他flatMap操作放在第一个flatMap中,因为你只能在第一个flatMap中获得rxBleConnection