在一个连接Android BLE中接收多个数据包

时间:2017-04-05 08:59:05

标签: android bluetooth-lowenergy

当在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

0 个答案:

没有答案