2 e xiake E_xiake 于 2017.08.31 10:21 提问

Android Ble模拟周边设备,需要二次连接传输正常 3C

最近在做一个Android模拟蓝牙打印机设备的项目,主要是要用移动设备代替蓝牙打印机接收数据。
但是出现问题,发现第一次连接后,接收数据特比慢,慢也可以理解,关键是还丢包,我推测是推送数据过快,而接收很慢,所以丢包了。
此时,如果关掉数据发送设备,立刻打开,在Android系统未检测到设备断开的时候,再重新连接上,此时使用正常,不会出现丢包问题,而且传输很快速。
根据分析BluetoothGattServerCallback回调中的回调函数onCharacteristicReadRequest的回调发情况,发现设备在连接上之后,会主动调用一次此函数。而且当requestId为1时,此时可认为是第一次连接,传输很慢且丢包。当连接上之后的requestId若大于1,则完全正常。求各位打算告诉我这是为什么?

Csdn user default icon
上传中...
上传图片
插入图片