【问题标题】:Workaround for bug where Android N device constantly enters / exits region when using Altbeacon使用 Altbeacon 时 Android N 设备不断进入/退出区域的错误的解决方法
【发布时间】:2016-08-21 03:05:49
【问题描述】:

我有一个 Android 应用程序实现了 Altbeacon 库来监视信标,同时持有对 BackgroundPowerSaver() 的引用。这按预期工作,但在 Android N 设备上除外,其中库通知我,即使我的设备和信标都在移动,我也在不断地进入/退出信标区域。

我已确认这是 Altbeacon 库中的一个错误,因为参考应用(链接如下)在 Android N 设备上运行时也存在同样的问题。 https://github.com/AltBeacon/android-beacon-library-reference

是否有针对此错误的已知解决方法?


我正在使用 Android N 的 Nexus 9 平板电脑上运行 2.1.3 级构建的参考应用程序,并且正在监视 RadBeacon 信标。从 LogCat 语句中可以看出,该应用程序认为它每隔约 15 秒就会进入和退出信标区域。但是,在此期间,设备和信标都在移动。我设置 BeaconManager 以查找的信标布局是“m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24”。

Here is the LogCat output.

【问题讨论】:

  • 发生这种情况时,您是否有机会链接到完整的 logcat 摘录,包括系统级消息?
  • 刚刚添加@davidgyoung
  • 我在日志中看到了这一点。 java.lang.SecurityException: Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission to get scan results。如果不授予位置,我很惊讶它完全有效。请参阅此处有关授予权限的信息:developer.radiusnetworks.com/2015/09/29/…
  • 位置权限被授予,几行之后有一个日志表明“粗略的位置权限被授予”。关闭权限 AlertDialog 后会出现“需要..”日志,然后才会出现系统权限请求以供确认。

标签: java android mobile altbeacon


【解决方案1】:

该问题似乎是由 Android N 的 Developer Preview 4 中的更改引起的:

我们从 DP4 开始更改了 BLE 扫描行为。我们将阻止应用程序在 30 秒内启动和停止扫描超过 5 次。对于长时间运行的扫描,我们会将它们转换为机会扫描

https://developer.android.com/preview/support.html

我已打开new issue on the Android Beacon Library Open Source Project 来解决 Android Nougat 设备的这一变化。请监视此问题,以便尽快发布预览修复。如果您愿意测试预览版本,我当然会很感激。

编辑:建议的修复程序可用here. 请按照链接页面上的说明使用您的项目测试此构建,如果它解决了问题,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    相关资源
    最近更新 更多