我开发了一个应用程序,可以扫描附近的设备(周围有多种信标)。
我正在使用带有 CALLBACK_TYPE_ALL_MATCHES 和空 ScanFilter 数组的 BluetoothLeScanner 进行扫描(因为我想获取所有附近设备的回调)。
我的应用程序在我的 OnePlus 5 设备 Android 7.x(以及其他一些设备)上运行得很好 - 直到我在我的设备上升级到 android 8.0 OTA。
我不确定这是 Android 8.0 问题还是 OnePlus Oxygen bug,但我面临以下情况:
我周围有很多种信标,有些是标准 ibeacon/eddystone 数据包,有些是自定义数据包。
我仅收到标准 ibeacon/eddystone 数据包的回调(onScanResult),而不收到自定义数据包的回调(onScanResult)。
在升级之前,我收到了所有类型数据包的回调 - 标准和非标准。
android 8.0 中接收到的 ble 数据包的下划线过滤器是否发生了变化?
这是最新 Oxygen OS 版本的错误吗?
我应该添加某种标志来获取非标准数据包吗?
任何想法将不胜感激。
谢谢。
在调查了每个信标发送的数据包后,我发现其中一个自定义信标发送了一个数据长度字节错误的数据包。
这导致数据包被 OS 8(Android 或 Oxygen)过滤掉 - 对于旧版本来说并不重要。
现在我必须与固件公司联系以进行修复...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)