如何为所有uuid调用didRangeBeaconsInRegion一次

时间:2017-11-24 09:33:33

标签: android beacon altbeacon

我的问题

我需要立即对didRangeBeaconsInRegion上的所有区域进行组合调用,对于每个uuid 例如: 如果我有2个uuid,则调用didRangeBeaconsInRegion 2次和4次uuid didRangeBeaconsInRegion同样打了四次电话。我希望didRangeBeaconsInRegion为我在区域设置的所有uuid调用一次

我的代码:

 for (beaconparser.Beacon beacon : iBeacon.getBeacons()) {
      try {
           Identifier uuid = Identifier.parse(iBeacon.getUUID());
           Identifier major = Identifier.parse("" + iBeacon.getMajor());
           Identifier minor = Identifier.parse("" + iBeacon.getMinor());
           beaconManager.startRangingBeaconsInRegion(new Region(iBeacon.getUUID() + major + minor, uuid, null, null));
           setMonitoring(false);
      } catch (RemoteException e) {
           e.printStackTrace();
      }
 }

1 个答案:

答案 0 :(得分:0)

很抱歉,API就是这样。最简单的解决方案是设置一个通配符Region,将所有标识符设置为null。这将为您提供一个所有信标的回调。

您可以使用if语句将信标标识符与您关注的标识符进行比较,只有在与您所在地区匹配时才处理它们。