У меня ошибка при подключении к устройству Bluetooth во Flutter с использованием пакета flutter_blue. Версия пакета: ^ 0.6.3 + 1 .
Это мой исходный код:
void scanForDevices() async {
sController = StreamController();
//await checkConnectedDevices();
sController.addStream(FlutterBlue.instance.scanResults);
FlutterBlue.instance.startScan(timeout: Duration(seconds: 10));
scanSubscription = sController.stream.listen((devices) async {
final result = devices.where((currentDev) => currentDev.advertisementData.localName.contains((_dev as BaseDevice).psn)).toList();
if (null == deviceToConnect && null != result && result.length > 0) {
final dev = result.first;
deviceToConnect = dev.device;
print(dev.advertisementData.localName);
try {
await dev.device.connect();
await checkState();
setState(ViewState.Idle);
} catch (e) {
setState(ViewState.Idle);
print(e);
}
//stopScanning();
setState(ViewState.Idle);
}
});
}
void stopScanning() async {
print('stopping scan');
await FlutterBlue.instance.stopScan();
if (null != scanSubscription) await scanSubscription.cancel();
if (null != sController) await sController.close();
}
Работает нормально, но не всегда. Например:
- первый раз работает нормально
- второй раз не работает
- третий раз работает нормально
- четвертый раз не работает
- ...
Заранее спасибо.