首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓:为什么BluetoothLeScanner有时不能发现任何BLE设备?

安卓:为什么BluetoothLeScanner有时不能发现任何BLE设备?
EN

Stack Overflow用户
提问于 2021-01-29 00:24:28
回答 1查看 153关注 0票数 2

我正在使用BluetoothLeScanner扫描BLE设备,我开始使用:

startScan(null, settings.getScanSettings(), scanCallback);

每隔一段时间,对startScan()的调用都不会发现任何BLE设备,即使一些设备实际上是在通告(它们是使用nRF连接应用程序发现的)。

当这种情况发生时,下一次对stopScan()startScan()的调用会发现设备。

我知道从Android7开始,开始和停止扫描的次数被限制在30秒的窗口内5次。但是,我注意到,如果没有调用stopScan()/startScan()超过30秒,也会出现问题。

有没有人遇到过这样的问题?会不会是我的应用程序在启动扫描程序时正在做的其他事情导致扫描失败?

我在使用安卓10及更低版本时遇到了这个问题。

EN

回答 1

Stack Overflow用户

发布于 2021-01-31 13:24:12

Android手机限制BLE扫描时长,以节省能源。所以你很长一段时间都不能扫描BLE广告。这是系统限制,因此应用层无法改变这一点。

在较旧的手机(可能低于4.4)不要设置限制,但它会使手机变热。

如果你想长时间扫描BLE广告,改变你的设计是一个更好的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65941190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档