我的问题
我需要立即对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();
}
}
答案 0 :(得分:0)
很抱歉,API就是这样。最简单的解决方案是设置一个通配符Region,将所有标识符设置为null。这将为您提供一个所有信标的回调。
您可以使用if语句将信标标识符与您关注的标识符进行比较,只有在与您所在地区匹配时才处理它们。