Считывание характеристик с подключенного устройства не возвращает никакого значения при использовании flutter_blue - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь flutter_blue подключиться к устройству Bluetooth и прочитать данные, передаваемые через него.В моем случае предыдущий экран уже проверяет, подключено ли устройство, и отправляет его на следующий экран.На следующем экране я пытаюсь прочитать характеристики.

Итак, на новом экране я вызывал другую функцию для обнаружения служб и считывания характеристик следующим образом.

@override
  Widget build(BuildContext context) {
    // Here is just a placeholder for a list of mock units
    discoverServices();
    .....
  }

  void discoverServices() {
      // device is : connected device passed from another screen.
      device.discoverServices().then((s) {
      services = s;
      for (BluetoothService service in services) {
        for (BluetoothCharacteristic c in service.characteristics) {

          if (c.uuid == new Guid('XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX')) {
            print('uuid found');
            _readCharacteristic(c)

          }
        }
      }
  }


Future<void> _readCharacteristic(BluetoothCharacteristic c) async {

    try {
            data = await device.readCharacteristic(c);

            setState((){
                   // setting value for different object
                    myDevice.setValue(data);
            });

    } catch(e){
            print(e);

    }

  }

_readCharacteristic вызывается, когда характеристики обнаруживаются внутри DiscoverServices ().И после завершения _readCharacteristic я пытаюсь установить значение состояния для моего объекта.Но он ничего не читает и ничего не устанавливает.

Я что-то упустил из-за использования Flutterblue?Любые мысли будут полезны.

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