Bluetooth BLE - onCharacteristicChanged () не вызывается на Samsung S10e

голоса
0

Мой Android приложения сопряжение с устройством Bluetooth , который измеряет определенные физические свойства жидкости (например - плотность, удельный вес и т.д.) Я использовал setCharacteristicNotification () , чтобы включить уведомление для BlueTooth канала характеристики. При отладке я получаю включено уведомление (пробовал с индикацией включена тоже) , но метод обратного вызова onCharacteristicChanged () не получает вызывается особенно на Samsung S10e . Я попробовал его с другими высокого класса устройств , таких же спецификаций и версий Android OS и все работает , как ожидалось . Может кто - нибудь предоставить мне понимание по этому вопросу , почему это происходит? Ниже приведен код для настройки уведомлений и записи Gatt дескриптора.

BluetoothGattDescriptor descriptor =
characteristic.getDescriptor(GattConstants.UUID_CHARACTERISTIC_CONFIGURATION); //descriptor.setValue(BluetoothGattDescriptor.ENABLE_INDICATION_VALUE);
 descriptor.setValue(enabled ? BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE : BluetoothGattDescriptor.DISABLE_NOTIFICATION_VALUE);
return bluetoothGatt.writeDescriptor(descriptor);

writeCharacteristic ()

osCommandCharacteristic.setValue(Utils.concatenateBytes(control, (byte) value.length, value));
            boolean writeChar = bluetoothGatt.writeCharacteristic(osCommandCharacteristic);
            Log.e(writeValueCharc,command+-->+writeChar);
            return writeChar;

concatenateBytes ()

public static byte[] concatenateBytes(byte byte1, byte byte2, byte[] bytes) {
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        byteArrayOutputStream.write(byte1);
        byteArrayOutputStream.write(byte2);
        try {
            byteArrayOutputStream.write(bytes);
        } catch (IOException e) {
            logger.error(Error writing bytes, e);
        }

        return byteArrayOutputStream.toByteArray();
    }
Задан 14/01/2020 в 00:02
источник пользователем
На других языках...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more