PlatformException (подключение, периферийное устройство не найдено, ноль) - PullRequest
0 голосов
/ 19 февраля 2020

У меня ошибка при подключении к устройству 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();
  }

Работает нормально, но не всегда. Например:

  • первый раз работает нормально
  • второй раз не работает
  • третий раз работает нормально
  • четвертый раз не работает
  • ...

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...