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);