Android BLE характеристика написать
Я работаю над BLE-проектом для Android и пытаюсь написать удаленную характеристику.
Когда я использую BluetoothGatt.writeCharacteristic()
написать удаленную характеристику, функцию обратного вызова onCharacteristicWrite()
вызывается на локальной стороне, показывая, что он получил sendResponse()
с отдаленной стороны
Но на удаленной стороне, обратный вызов onCharacteristicWriteRequest()
не вызывается.
Я проверил соединение, и оно работает нормально, и нет других функций, которые будут вызывать sendResponse()
Кроме onCharacteristicWriteRequest()
У кого-нибудь есть идея, почему это происходит?
1 ответ
Поскольку вы не предоставили никакого кода, трудно сказать, почему это происходит.
Во всяком случае, вот как это должно выглядеть;
// scan devices
...
// connect to server
device.connectGatt(..)
в обратном вызове OnConnectionStateChanged (на стороне клиента)
if ( BluetoothGatt.GATT_SUCCESS != status ) {
System.out.println("Connecting to server failed");
return;
}
// discover services
bluetoothGatt.discoverServices()
в обратном вызове OnServicesDiscovered (на стороне клиента)
if ( BluetoothGatt.GATT_SUCCESS != status ) {
System.out.println("Could not discover services");
return;
}
List<BluetoothGattService> services = bluetoothGatt.getServices();
for (BluetoothGattService service : services) {
if ( MY_SERVICE_UUID == service.getUuid() ) {
System.out.println("Found my service on this server");
// get characteristic from service
BluetoothGattCharacteristic myCharacteristic = service.getCharacteristic(MY_CHARACTERISTIC_UUID);
// change value
myCharacteristic.setValue("this is my value");
// write
bluetoothGatt.writeCharacteristic(myCharacteristic);
}
}
теперь на этом этапе он должен перейти в обратный вызов OnCharacteristicWriteRequest (на стороне сервера!), где вы можете получить новое значение
Если это не работает, проверьте на сервере, есть ли в настройках вашего рекламодателя Bluetooth .setConnectable(true)
задавать.
Также проверьте, запущен ли у вас сервер gatt с правильными сервисом и характеристиками.
Надеюсь это поможет