安卓蓝牙BLE接收大量数据的问题

2019-03-26 12:19发布

最近在做一个可穿戴设备,下位机用蓝牙模块,上位机用安卓,下位机需要以5kB/s的速率传输,上位机总是接收几包就连接断了,用抓包器看了一下,下位机传输速度很多,每个连接间隔45ms,但是需要传送几包,包与包之间大概只有600us,安卓用回调函数接收,感觉是因为来不及导致的连接中断。
  1. @Override
  2.         public void onCharacteristicChanged(BluetoothGatt gatt,BluetoothGattCharacteristic characteristic) {
  3.             byte[] value = characteristic.getValue();
  4.             Log.i(TAG, "CharacteristicChanged: " + value.length);
  5.         }
复制代码
这个回调函数每一包就回调一次,然后只能取一包,想请问大家有做过安卓蓝牙数据采集是怎么实现的,网上有很多资料但是完全不适用于数据量大的场景,因为下位机是透传模块,没法改动它的代码,也不是蓝牙5.0,每一包就只能发20字节,不知道怎么处理

此帖出自Linux与安卓论坛
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。