昨天我在Nexus 4上获得了Android 5.0的更新,并且altbeacon库停止了检测信标 . 似乎在监视和测距时,didEnterRegion和didRangeBeaconsInRegion都没有被调用 .
即使Radius Networks的Locate应用程序现在表现不同,一旦检测到信标的值,它们就不再得到更新,而且通常看起来好像信标超出了范围 .
我注意到的一点是,现在在logcat中出现以下行“BluetoothLeScanner:找不到回调包装器” . 我继续寻找那个类,看到它是用Android L引入的,但我不知道这是否与它有关 .
重要的是,在更新之前,我一直在使用Locate应用程序和参考应用程序,没有任何麻烦 .
我不知道这是否是一个普遍的问题,但如果它发生在我身上,我相信它可能发生在其他人身上,所以任何帮助都会真的很受欢迎 .
提前致谢!
UPDATE:
在让图书馆工作失败后,我决定尝试图书馆的Android L分支 . 我做的是我将新库插入参考应用程序,但也没有按预期工作 .
通过在设备进入新区域时通知,Monitor Activity似乎正常工作 . 但是,测距活动不报告任何信标,虽然已经调用了ofRangeBeaconsInRegion,但总是报告零信标 . 奇怪的是,当活动暂停时(暂时切换到另一个应用程序),logcat显示现在使用实际信标调用了didRangeBeaconsInRegion .
我现在有点卡住,因为我不知道如何让任何图书馆在Android L上工作,所以再次,任何帮助都会非常感激 .
2 回答
我在5.0上使用最新的Altbeacon构建,并没有任何问题 . 事实上,我从来没有在kitkat上使用它,所以我不确定我能帮忙,但这是我的工作代码,听取iBeacons .
实施beaconConsumer:
init BeaconManager
onConnect并启动列表器
此代码适用于3个设备
Nexus 4 5.0.1
三星Galaxy s4 - 股票5.0.1
三星Galaxy s4 - CM12 5.1.1
老问题,但也许有些人会试图找到更高系统的答案,你必须要求权限 . 您需要在扫描前询问
Manifest.permission.ACCESS_FINE_LOCATION
. 至少那是我遇到的问题 . 在我看来,lib应该至少崩溃这样的情况并指出问题