1

我有 kontakt.io Eddystone 信标并尝试编写用于扫描信标的应用程序。我使用 Android 信标库和后台扫描。一切正常,我的应用程序会在几秒钟内找到信标。但是,如果我使用本手册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

我有 Android 6 的 OnePlus One。

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

4

1 回答 1

0

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

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

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

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

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

于 2016-04-08T13:38:33.130 回答