即使Radius Networks的Locate应用程序现在表现不同,一旦检测到信标的值,它们就不再得到更新,并且通常看起来好像信标超出了范围.
我注意到的一点是,现在在logcat中出现以下行“BluetoothLeScanner:找不到回调包装器”.我继续寻找那个类,看到它是用Android L引入的,但我不知道这是否与它有关.
重要的是要说在更新之前我一直在使用Locate应用程序和参考应用程序而没有任何麻烦.
我不知道这是否是一个普遍的问题,但如果它发生在我身上,我确信它可能发生在其他人身上,所以任何帮助都会真的很受欢迎.
提前致谢!
更新:
在让图书馆工作失败后,我决定尝试图书馆的Android L分支.我所做的是我将新库插入参考应用程序,但也没有按预期工作.
通过在设备进入新区域时通知,Monitor Activity似乎正常工作.但是,测距活动不报告任何信标,尽管已经调用了ofRangeBeaconsInRegion,但总是报告零信标.奇怪的是,当活动暂停时(暂时切换到另一个应用程序),logcat显示现在使用实际信标调用了didRangeBeaconsInRegion.
我现在有点卡住,因为我不知道如何让任何图书馆在Android L上工作,所以再次,任何帮助都会非常感激.
解决方法
实施beaconConsumer:
public class MainActivity implements BeaconConsumer
init BeaconManager
beaconManager = BeaconManager.getInstanceForApplication(this); if (beaconManager != null && !beaconManager.isBound(this)) { beaconManager.getBeaconParsers().add(new BeaconParser(). setBeaconLayout("m:0-3=4c000215,i:4-19,i:20-21,i:22-23,p:24-24")); beaconManager.bind(this); }
onConnect并启动列表器
@Override public void onBeaconServiceConnect() { beaconManager.setRangeNotifier(new RangeNotifier() { @Override public void didRangeBeaconsInRegion(Collection<Beacon> beacons,Region region) { if (beacons.size() > 0) { Beacon firstBeacon = beacons.iterator().next(); } } }); beaconManager.startRangingBeaconsInRegion(new Region("com.example.app",null,null)); }
此代码适用于3个设备
> Nexus 4 5.0.1>三星galaxy s4 – 股票5.0.1>三星galaxy s4 – CM12 5.1.1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。