Android 如何让DidRangeBeanConsistinRegion呼叫在uuid中一次性完成

Android 如何让DidRangeBeanConsistinRegion呼叫在uuid中一次性完成,android,beacon,altbeacon,Android,Beacon,Altbeacon,我的问题 我需要立即为每个uuid对DidRangeBeanConsincinRegion上的所有区域进行组合调用例如:如果我有2个uuid,DidRangeBeanConsincinRegion将被调用2次,而对于4个uuid DidRangeBeanConsincinRegion,将被调用4次。我希望对我在区域上设置的所有uuid调用一次DidRangeBeanConsincinRegion 我的代码: for (beaconparser.Beacon beacon : iBeacon.g

我的问题

我需要立即为每个uuid对DidRangeBeanConsincinRegion上的所有区域进行组合调用例如:如果我有2个uuid,DidRangeBeanConsincinRegion将被调用2次,而对于4个uuid DidRangeBeanConsincinRegion,将被调用4次。我希望对我在区域上设置的所有uuid调用一次DidRangeBeanConsincinRegion

我的代码:

 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就是不能那样工作。最简单的解决方案是设置一个通配符区域,将所有标识符设置为null。这将为所有信标提供一次回调

您可以使用if语句将信标标识符与您关心的标识符进行比较,并且仅当它们与您的某个区域匹配时才对其进行处理