AltBeacon Android 信标库区域 ID 为空

AltBeacon Android Beacon Library region id is null

我正在使用 AltBeacon android 库来检测我应用程序上的 Eddystone 信标。

我是这样设置区域的:

Region region = new Region("backgroundRegion", null, null, null);

每当我的应用检测到范围内的信标时,我都会像这样记录它:

@Override public void didEnterRegion(Region region) {
        Log.v(TAG, "didEnterRegion() called with: region = [" + region.toString() + "]");
    }

id1、id2 和 id3 return 空。

相反,如果我这样做:

Region region = new Region("backgroundRegion", Identifier.parse("0x0b85497366bad1356d69"), null, null);

id1 returns `b85497366bad1356d69``

我想检测所有 Eddystone 设备。如果我不为该标识符设置区域,我可以获取设备标识符吗?

didEnterRegion 的回调中的Ranging 对象只是您用于开始监视的对象的副本,因此如果初始Region 的标识符全部为null,则标识符将全部为null。

解决办法?使用 startRangingBeaconsInRegion() 和 didRangeBeaconsInRegion 回调。该回调将为您提供与该区域匹配的检测到的信标列表,因此您可以读取所有实际标识符。