为什么我无法在我的flutter项目中使用flutter_reactive_ble扫描带有UUID的iBeacon?

68bkxrlz  于 2023-06-07  发布在  Flutter
关注(0)|答案(1)|浏览(261)

我在flutter项目中使用了https://pub.dev/packages/flutter_reactive_ble。但我无法扫描ibeacon,如果我提供UUID内部服务,我想我错过了一些东西。
另一方面,如果空数组在内部提供了服务,则可以正常工作。
下面是我代码:

_subscription = await FlutterReactiveBle().scanForDevices(
        withServices: [Uuid.parse('11111111-1111-1111-1111-111111111111')],
        // withServices: [],//working fine with empty array
        scanMode: ScanMode.lowLatency,
        requireLocationServicesEnabled:
            true).listen(onDeviceFound, onError: onError);

下面是模拟器截图:

任何帮助将不胜感激,谢谢!

4xy9mtcn

4xy9mtcn1#

问题是您使用的Flutter软件包不是扫描信标广告(iBeacon、AltBeacon),而是扫描BLE服务UUID广告。注意这行代码中的withServices

FlutterReactiveBle().scanForDevices(
        withServices: [Uuid.parse('11111111-1111-1111-1111-111111111111')],

这意味着您正在告诉库扫描具有给定服务UUID的广告BLE服务。这些是与BLE信标广告完全不同种类的BLE广告。不幸的是,您正在使用的软件包不会执行您想要的操作。
你可以试试Flutter Beacon

相关问题