首页 文章

Altbeacon库无法在Android 5.0上运行

提问于
浏览
8

昨天我在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 回答

  • 1

    我在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, null));
    }
    

    此代码适用于3个设备

    • Nexus 4 5.0.1

    • 三星Galaxy s4 - 股票5.0.1

    • 三星Galaxy s4 - CM12 5.1.1

  • 0

    老问题,但也许有些人会试图找到更高系统的答案,你必须要求权限 . 您需要在扫描前询问 Manifest.permission.ACCESS_FINE_LOCATION . 至少那是我遇到的问题 . 在我看来,lib应该至少崩溃这样的情况并指出问题

相关问题