安卓奥利奥"We are inside a beacon region. We will not scan between cycles"中的Altbeacon



我已经更新了altbeacon库,我目前正在使用2.13.1。 我一直在做一些基本测试,以使应用程序适应 Android Oreo,但我没有得到库的预期行为。 当应用程序不在前台时,ScanJob 大约每 15 分钟启动一次,但我每次都看到以下消息:

"We are inside a beacon region.  We will not scan between cycles"

我尝试在两个信标中设置不同的 uuid 以尝试触发更多扫描, 但我理解查找和 ScanJob 代码, 一旦您进入任何区域, 您不再扫描,直到您退出所有信标并重新输入一个.这是对的吗?扫描是否可以考虑不同的区域,以便我们可以获得更频繁的扫描周期?

在 Android8+ 后台运行的 Android 信标库将使用默认设置每~15 分钟对信标进行一次软件扫描. 这不受区域状态的影响。任何扫描的信标都将导致对didEnterRegiondidExitRegiondidRangeBeacobsIbRegion的适当回调。

如果不看到设置代码、回调定义并知道测试期间活动的信标,很难说您遇到了什么问题. 但是,如果您没有看到它如上所述工作,则有问题。

问题中显示的日志行仅表示最近看到了信标, 因此无法使用硬件蓝牙过滤器来查找软件扫描周期之间新出现的信标. 如果没有信标存在, 库将使用这样的过滤器进行非常快速的首次检测. 但它不适用于第二次检测,第二次检测会回退到上述后台扫描周期。

最新更新