我试图根据OnCharacteristicWrite回调条件同步写入下一个数据包以实现最大吞吐量。但由于某种原因,它会在1-2秒的时间后在非常初始时停止触发OnCharacteristicWrite回调,即使我重新发送数据包,它也永远不会被调用。如果我为每个数据包添加延迟,但是我不想添加任何延迟来实现最大吞吐量,那么它工作得很好。Android BLE回调OnWriteCallback在几秒后停止
有什么办法可以在不增加任何延迟的情况下实现最大吞吐量?
另外,每个连接间隔究竟发送多个数据包意味着什么(以及是否有任何方法可以通过外设实现)?
你有什么Android设备/操作系统版本? – Emil
Android 4.4.2 kitkat –
@Emil我的BLE版本是4.2。但我没有得到如何发送每conn间隔多个数据包。根据每个数据包收到onCharacteristicWrite回调的时间,我正在逐个发送数据包。但是经过一段时间(约300个onCharacteristicWrite回调状态0成功的数据包之后),回调突然停止,即使在数据包重发时也不会触发。所以我在两个数据包之间添加了一个8ms的延迟,它将所有数据包成功写入回调状态为0,但这实际上降低了吞吐量。有没有更好的方法来实现这一点? –