writeCharacteristic method
Future<void>
writeCharacteristic({
- required String deviceId,
- required String serviceUuid,
- required String characteristicUuid,
- required List<
int> value, - BluetoothWriteType writeType = BluetoothWriteType.withResponse,
override
实现 FlutterBluetoothPluginPlatform.writeCharacteristic。
Web 会优先使用 writeValueWithResponse/writeValueWithoutResponse,必要时回退到旧版 writeValue。
Implementation
@override
Future<void> writeCharacteristic({
required String deviceId,
required String serviceUuid,
required String characteristicUuid,
required List<int> value,
BluetoothWriteType writeType = BluetoothWriteType.withResponse,
}) async {
final characteristic = await _characteristic(
deviceId: deviceId,
serviceUuid: serviceUuid,
characteristicUuid: characteristicUuid,
);
final data = Uint8List.fromList(value).toJS;
final object = characteristic as JSObject;
if (writeType == BluetoothWriteType.withoutResponse &&
object.has('writeValueWithoutResponse')) {
await characteristic.writeValueWithoutResponse(data).toDart;
return;
}
if (writeType == BluetoothWriteType.withResponse &&
object.has('writeValueWithResponse')) {
await characteristic.writeValueWithResponse(data).toDart;
return;
}
await characteristic.writeValue(data).toDart;
}