Android ble setValue вроде 0x0001

Мне нужно отправить значение, как 0x0001, 0x0002 в BLE setValue(),

Кто-нибудь знает как передать?

например:

private void command () {
   ongoing.setValue(0x0001);  //error
   mBluetoothLeService.writeCharacteristic(ongoing);
   BluetoothLeService.setCharacteristicNotification(ongoing, true);
   ...
   ...
   ...
   mBluetoothLeService.readCharacteristic(ongoing);
}

Thanks.

в DeviceControlActivity.java:

private void displayGattServices(List<BluetoothGattService> gattServices){
    UUID UBI_COMMAND = UUID.fromString(SampleGattAttributes.UBI_ONGOING_INFO_SERVICE_UUID);
    ...
    ...
    if (uuid.equals(SampleGattAttributes.UBI_ONGOING_INFO_SERVICE_UUID)){
       ongoing = gattService.getCharacteristic(UBI_ONGOING);
    }
}

1 ответ

Решение

Сначала определите свой формат ввода (в байтах), затем установите значение характеристик. Пожалуйста, проверьте ниже фрагмент. Функция writeCharacterstics доступна в BluetoothGatt. Если у вас нет метода в вашем сервисе, определенного вами, то также измените объект "mBluetoothLeService" на объект "gatt", чтобы записать значение.

            byte[] value = {(byte) 0x01};
            characteristic.setValue(value);
            mBluetoothLeService.writeCharacteristic(characteristic);
Другие вопросы по тегам