Характеристика Android BLE GATT (длиной 22 байта) читает только один байт - PullRequest
0 голосов
/ 22 июня 2019

Я делаю приложение для BLE, и мне нужно прочитать характеристику, которая содержит 22 байта.У меня 2 кнопки - одна для отправки запроса, другая для чтения характеристики.Вот код:

void readDatafromBLE()
{
    byte[] str = characteristicRX.getValue();

    String data = new String(str, Charset.forName("utf-8"));

    if (data == null)
        consoleData.setText("Data still null");
    else
        consoleData.setText(data);
}

void sendDataToBLE(String str)
{
    final byte[] tx = str.getBytes();

    if (mConnected)
    {
        characteristicTX.setValue(tx);
        mBluetoothLeService.writeCharacteristic(characteristicTX);
        mBluetoothLeService.readCharacteristic(characteristicRX);
    }
}

Проблема заключается в том, что всякий раз, когда я пытаюсь прочитать данные, в моем TextDsoleData TextView я получаю один случайный байт данных из этих 22 байтов, а не все.В чем может быть проблема здесь?

...