OGeek|极客世界-中国程序员成长平台

标题: android - Android 8.0 上的 BLE 扫描 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-9 06:51
标题: android - Android 8.0 上的 BLE 扫描

我开发了一个应用程序,可以扫描附近的设备(周围有多种信标)。 我正在使用带有 CALLBACK_TYPE_ALL_MATCHES 和一个空 ScanFilter 数组的 BluetoothLeScanner 进行扫描(因为我想获取附近所有设备的回调)。

我的应用在我的 OnePlus 5 设备 Android 7.x(以及其他一些设备)上运行良好 - 直到我在我的设备上升级到 android 8.0 OTA。

我不确定是 Android 8.0 问题还是 OnePlus Oxygen 错误,但我面临以下情况: 我周围有很多种信标,一些宣传标准的 ibeacon/eddystone 数据包,而另一些则宣传自定义数据包。

我只收到标准 ibeacon/eddystone 数据包的回调 (onScanResult),而不是自定义数据包。 在升级之前,我得到了所有类型数据包的回调 - 标准和非标准。

在 android 8.0 中接收到的 ble 数据包的下划线过滤器是否发生了变化? 这是最新的 Oxygen OS 版本中的错误吗? 我应该添加某种标志来获取非标准数据包吗?

任何想法将不胜感激。 谢谢。



Best Answer-推荐答案


在调查了每个信标发送的数据包后,我发现其中一个自定义信标发送了一个数据长度字节错误的数据包。 这导致数据包被 OS 8(Android 或 Oxygen)过滤掉 - 与旧版本无关。

现在我必须与固件公司联系以进行修复...

关于android - Android 8.0 上的 BLE 扫描,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48286314/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://www.ogeek.cn/) Powered by Discuz! X3.4