微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Flutter/Dart 中读取蓝牙设备数据并将其返回到代码中的问题

如何解决在 Flutter/Dart 中读取蓝牙设备数据并将其返回到代码中的问题

下面是我用来从蓝牙设备读取数据的函数代码

Future listServices() async {
  List<BluetoothService>? services = await primBms?.device.discoverServices();
  List values = [];
  services?.forEach((service) async {
    if (service.uuid.toString() == primBmsUuids[0]) {
      for (BluetoothCharacteristic c in service.characteristics) {
        List<int> value = await c.read();
        int val = int.parse(String.fromCharCode(value[0]) + String.fromCharCode(value[1]));            
        print(value);
        print(val);
        values.add(val);
      }
    }
  });
  return values;
}

我正在解析读取数据包中的字符代码,但是使用此函数返回一个空列表。我使用了打印函数来确认 value 和 val 是否返回有效值,并且它们确实返回了,但是无论出于何种原因,它们都没有添加到列表中。

有人可以帮我找出问题的解决方案吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。