ANDROID4.3 BLE接收数据

cqzhong 2016-02-23 02:18:53
现在做个APP接收BLE设备发送的数据,发现characteristic.getvalue获取数据的长度最多为20byte,这个是固定的吗?能否修改?
由于BLE设备发送的数据指令很长超过20byte,现在没有接收完上一条指令,下次onCharacteristicChanged进来的又是另外一条指令的数据了,请教大神这个问题如何解决?
...全文
219 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_24894473 2016-12-23
  • 打赏
  • 举报
回复
楼主解决了吗?请给份demo行吗?
  • 打赏
  • 举报
回复
楼主,请问characteristic.getvalue获取数据的长度最多为20byte这个问题解决了么,我现在也遇到这个问题,导致接收的数据不完整。很郁闷!
molicao 2016-04-20
  • 打赏
  • 举报
回复
通过ble发送长数据的话,要分成几个包每个包20字节地发送。 如果第二个包发送不成功,可在两个包直接添加一个延时。 如果不确定具体的延时时间,可以在发送上一个包之后,等接收到回调(onCharacteristicWrite)后再发送第二个包。 如果不接受等待的话,还有一个办法, 在写数据之前加入一行 characteristic.setWriteType(BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE); 如果不稳定的话,可以在两个包直接等待最小的单位,比如1ms. 不知道对你是否有用。
cqzhong 2016-02-24
  • 打赏
  • 举报
回复
求助大神··

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧