bluetooth-lowenergy – Altbeacon库无法在Android 5.0上运行

前端之家收集整理的这篇文章主要介绍了bluetooth-lowenergy – Altbeacon库无法在Android 5.0上运行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
昨天我在Nexus 4上获得了 Android 5.0的更新,并且altbeacon库停止了检测信标.似乎在监视和测距时,didEnterRegion和didRangeBeaconsInRegion都没有被调用.

即使Radius Networks的Locate应用程序现在表现不同,一旦检测到信标的值,它们就不再得到更新,并且通常看起来好像信标超出了范围.

我注意到的一点是,现在在logcat中出现以下行“BluetoothLeScanner:找不到回调包装器”.我继续寻找那个类,看到它是用Android L引入的,但我不知道这是否与它有关.

重要的是要说在更新之前我一直在使用Locate应用程序和参考应用程序而没有任何麻烦.

我不知道这是否是一个普遍的问题,但如果它发生在我身上,我确信它可能发生在其他人身上,所以任何帮助都会真的很受欢迎.

提前致谢!

更新:

在让图书馆工作失败后,我决定尝试图书馆的Android L分支.我所做的是我将新库插入参考应用程序,但也没有按预期工作.

通过在设备进入新区域时通知,Monitor Activity似乎正常工作.但是,测距活动不报告任何信标,尽管已经调用了ofRangeBeaconsInRegion,但总是报告零信标.奇怪的是,当活动暂停时(暂时切换到另一个应用程序),logcat显示现在使用实际信标调用了didRangeBeaconsInRegion.

我现在有点卡住,因为我不知道如何让任何图书馆在Android L上工作,所以再次,任何帮助都会非常感激.

解决方法

我在5.0上使用最新的Altbeacon构建,并没有任何问题.事实上,我从来没有在kitkat上使用它,所以我不确定我能帮忙,但这是我的工作代码,听取iBeacons.

实施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

原文链接:https://www.f2er.com/android/318585.html

猜你在找的Android相关文章