如何为所有 uuid 调用一次 didRangeBeaconsInRegion
How to make didRangeBeaconsInRegion call once for all the uuid
我的问题
我现在需要为每个 uuid 对 didRangeBeaconsInRegion 上的所有区域进行组合调用 例如: 如果我有 2 个 uuid didRangeBeaconsInRegion 被调用 2 次,对于 4 个 uuid didRangeBeaconsInRegion 被调用 4 次,同样它继续进行。我希望为我在 region
上设置的所有 uuid 调用一次 didRangeBeaconsInRegion
我的代码:
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();
}
}
抱歉,API 不能那样工作。最简单的解决方案是设置一个通配符区域,将所有标识符设置为空。这将为您提供所有信标的回调。
您可以使用 if 语句将信标标识符与您关心的标识符进行比较,并且仅当它们与您的区域之一匹配时才处理它们。
我的问题
我现在需要为每个 uuid 对 didRangeBeaconsInRegion 上的所有区域进行组合调用 例如: 如果我有 2 个 uuid didRangeBeaconsInRegion 被调用 2 次,对于 4 个 uuid didRangeBeaconsInRegion 被调用 4 次,同样它继续进行。我希望为我在 region
上设置的所有 uuid 调用一次 didRangeBeaconsInRegion我的代码:
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();
}
}
抱歉,API 不能那样工作。最简单的解决方案是设置一个通配符区域,将所有标识符设置为空。这将为您提供所有信标的回调。
您可以使用 if 语句将信标标识符与您关心的标识符进行比较,并且仅当它们与您的区域之一匹配时才处理它们。