Я уже некоторое время использую Flutter Blue, и я застрял на следующем: я использую пример приложения, которое я скачал на https://github.com/pauldemarco/flutter_blue,, здесь основная идея заключается в том, что как только я подключусьна моем устройстве Bluetooth он начинает проверять, существует ли услуга "FFE0", а затем характеристика "FFE1".Эта характеристика выделяет случайные строки, которые мне нужны для моего проекта.
Изображение экрана с открытой характеристикой
Через экран, который я вижу, все выше верно, мне просто нужнокаким-то образом автоматически установить уведомления для характеристики, как только она подключается к устройству Bluetooth.
Это некоторый текущий код, который я тестирую в функции _Connect.
_connect(BluetoothDevice d) async {
device = d;
// Connect to device
deviceConnection = _flutterBlue
.connect(device, timeout: const Duration(seconds: 4))
.listen(
null,
onDone: _disconnect,
);
// Update the connection state immediately
device.state.then((s) {
setState(() {
deviceState = s;
});
});
// Subscribe to connection changes
deviceStateSubscription = device.onStateChanged().listen((s) {
setState(() {
deviceState = s;
});
if (s == BluetoothDeviceState.connected) {
device.discoverServices().then((service) {
service.forEach((_service){
var characteristics = _service.characteristics;
_service.characteristics.map((c) {
print(c);
});
for(BluetoothCharacteristic _characteristic in characteristics) {
device.readCharacteristic(_characteristic).then((_value){
print(_value);
if (_value.contains("FFE0")) {
print("Found!!");
// do something
}
});
}
});
setState(() {
services = service;
});
_getServices();
});
}
});
}
Возможно, у меня есть предложение о том, как подойти к моей проблеме.
Робин