当在Android设备中读取ble的特性或甚至订阅它时,我同时收到2个数据包,但我知道这些数据不完整,因为解码时我找到了由特征发送的数据的一部分所以我认为问题是ble在相同的连接间隔写入多个数据包到特性但是android只接收了其中的2个 我需要知道如何接收所有这些,以便我可以在最后获得完整的数据? 这是onCharacteristicChanged方法的代码
@Override
public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) {
if (HEART_RATE_READING_CHAR.equals(characteristic.getUuid())){
byte[] char_float_value = characteristic.getValue();
String s="";
for(int i=0;i<char_float_value.length;i++){
s=s +String.format("%02x", char_float_value[i])+" ";
}
s = s.substring(0, s.length()-1);
Log.e("_____________", "_____________");
Log.d("TAG", s);
handler.sendMessage(Message.obtain(null,MSG_HEARTRATE,char_float_value[14]));
}
}
这些是我同时收到的数据包 Packets