BeaconManager.MonitoringListener list of beacons

Hi,

I’d love to get some information on the beacons in the region. And I see the documentation says

“beacons - List of beacons that triggered onEnteredRegion event. This list may not reflect all beacons around that are matching given region.” Does this mean This list does not reflect all beacons?

My region is set as followed:

region = new Region(REGION_TAG,
UUID.fromString(preferences.getMotherBeaconUuid()),
null,
null);

So the list should contain all beacons that make up the region, since all beacons have the same UUID. Is this a deficiency in the SDK? Is there a way for me to work around this? Will this be fixed / functionality added in the future?

Hi @Simon_Vergauwen,

No it will not be fixed. Let me explain rationale behind it as it is working as intended.

In monitoring API you want to trigger onEnteredRegion as fast as possible when first beacon matching region is encountered. All beacons in your vicinity will not be reported there, only those who were heard first. The beacons params treat as trigger for onEnteredRegion not as a comprehensive list of beacons in this region.

Once you entered region and you want to know all beacons matching region, you need to start ranging (BeaconManager#startRanging) for that region. This is recommended approach.

1 Like

So basically you’d never get a list but just the first beacon that triggers the onEnteredRegion?

Yes. It might be couple of beacons but usually it is first beacon that triggers event.

1 Like