我在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);
下面是模拟器截图:
任何帮助将不胜感激,谢谢!
1条答案
按热度按时间4xy9mtcn1#
问题是您使用的Flutter软件包不是扫描信标广告(iBeacon、AltBeacon),而是扫描BLE服务UUID广告。注意这行代码中的
withServices
:这意味着您正在告诉库扫描具有给定服务UUID的广告BLE服务。这些是与BLE信标广告完全不同种类的BLE广告。不幸的是,您正在使用的软件包不会执行您想要的操作。
你可以试试Flutter Beacon。