我有一个Android应用程序实现Altbeacon库来监控信标,同时保持对Back地PowerSaver()的引用。这是按预期工作的,除了在Android N设备上,其中库通知我,即使我的设备和信标都在移动,我也会不断进入/退出信标区域。
我已经确认这是Altbeacon库中的bug,因为参考应用程序(链接如下)在Android N设备上运行时也存在相同的问题。https://github.com/AltBeacon/android-beacon-library-reference
这个bug有已知的解决方法吗?
我正在使用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”。
这是LogCat输出。
该问题似乎是由Android N的Developer Preview 4中的更改引起的:
我们更改了从DP4开始的BLE扫描行为。我们将阻止应用程序在30秒内启动和停止扫描超过5次。对于长时间运行的扫描,我们将它们转换为机会扫描
https://developer.android.com/preview/support.html
我在Android Beacon Library Open Source Project上打开了一个新问题,以解决Android Nougat设备的此更改。请监控此问题以获取即将发布的预览版修复。如果您愿意测试预览版,我将不胜感激。
编辑:此处提供了建议的修复程序。请按照链接页面上的说明使用您的项目测试此构建,并让我知道它是否解决了问题。