在实施固件更新时,我们注意到不同的 Android 手机对于 GATT 特征写入无响应似乎具有不同程度的可靠性。有些会阻止调用者,直到 BLE 堆栈准备好接受数据包,但另一些会在客户端丢弃数据包。是否有相当于 iOS CoreBluetooth canSendWriteWithoutResponse() 或其他方法来确认 BLE 堆栈在提交之前有空间容纳另一个数据包?
是的,只需在发送下一个写入之前等待 onCharacteristicWrite 回调即可。
请参阅 https://stackoverflow.com/a/43744888/556495 了解更多信息。