Android Beacon 库在设备处于休眠模式时不扫描

Android Beacon Library don´t scan when device is in doze mode

我有 kontakt.io Eddystone 信标并尝试编写用于扫描信标的应用程序。 我使用 Android Beacon Library 和后台扫描。 一切正常,我的应用程序在几秒钟内找到了信标。 但是如果我使用本手册模拟打瞌睡模式 http://developer.android.com/training/monitoring-device-state/doze-standby.html

查找大约需要 5 分钟。 有时候是几秒,有时候是5分钟。

这篇文章说我不必对打瞌睡模式的代码进行任何更改。 http://developer.radiusnetworks.com/2015/09/29/is-your-beacon-app-ready-for-android-6.html

我有 OnePlus One Android 6.

拜托,你能告诉我哪里可能有问题吗?

在后台时,Android 信标库使用两种技术在 Android 5+ 上查找信标:

  1. 硬件蓝牙 LE 数据包过滤器。如果绊倒,这些将在几秒钟内提醒您的应用程序。

  2. 定期蓝牙 LE 扫描,默认情况下,这些 运行 每五分钟在后台扫描一次。它们旨在作为上述过滤器失败时的备份。

问题中的描述表明硬件过滤器在测试条件下未运行(One Plus。Android 6,Doze 模式。)在其他处于 Doze 模式的设备上,例如 Nexus 9 ,已知硬件过滤器可以在 Doze 模式下工作。差异可能是特定于固件的,这意味着它在不同的 Android 型号上表现不同。

对于大多数应用程序,打瞌睡模式下的快速检测并不重要,因为 phone 在此模式下是静止的,不太可能遇到任何新的固定位置信标。