1 回答
![?](http://img1.sycdn.imooc.com/545868b60001587202200220-100-100.jpg)
TA贡献1859条经验 获得超6个赞
您可以像这样将所有要写入的内容串联起来:
Single.concat(Arrays.asList(
rxBleMainConnection.writeCharacteristic(COMS_WRITE_CHAR_UUID, bytes0),
rxBleMainConnection.writeCharacteristic(COMS_WRITE_CHAR_UUID, bytes1),
rxBleMainConnection.writeCharacteristic(COMS_WRITE_CHAR_UUID, bytes2),
rxBleMainConnection.writeCharacteristic(COMS_WRITE_CHAR_UUID, bytes3),
// ...
rxBleMainConnection.writeCharacteristic(COMS_WRITE_CHAR_UUID, bytesn)
))
.subscribe(
characteristicValue -> {
// Written characteristic value.
Log.d(TAG, "Written command: " + Arrays.toString(characteristicValue));
},
throwable -> {
// Handle an error here.
Log.d(TAG, "Error writing command");
throwable.printStackTrace();
},
() -> {
Log.d(TAG, "All writes completed");
}
);
我鼓励您看一下有关“多次写入”的RxAndroidBle其他问题,这些问题已经在本网站上问过。有些帖子可能会给您提示/想法。
附带说明一下:最好创建仅使用单个代码的代码,.subscribe()因为这样您便拥有需要自己管理的最少状态。
添加回答
举报