Monitoring region extremely buggy

I’m trying to do some very simple monitoring, basically just checking if someone goes out of a region (defined by 3 beacons with the same UUID).

The problem is: I’m getting totally random Exiting events, when they should not occur. It’s extremely random, I’m within range of less than a meter of the beacons. I thought of implementing a debounce kind of system, but the problem is when I counted the consecutive wrong event (onExitRegion), I got a maximum of 7 consecutive wrong events (Within a time of only 3,5hours of testing).

This means If I am to debounce with a count of 7 or higher, this would mean ignoring 7 consecutive onExitRegion events. This is equivalent to ignoring a real onExitRegion for 7*30s (3,5 minutes). Which renders to whole system useless.

Implementation details:
I’m doing background scanning, I have a BeaconManager singleton in my Application which monitors in a service. I am only monitoring one region at the time, if the configuration changes. I stopMonitoring(region) and startMonitoring(region) with a new created region.

Test devices:
Samsung note 4 SM-N910F, OS: 5.0.1
Nexus 7 (2013), OS: 5.1.1

Beacon details:
Hardware Revision: two devices on D3.4, OS: A3.2.0
one device on (D3.4?), OS: B2.0 (can’t connect anymore after a failed update via Estimote app)

I noticed the device also appear to disappear once in a while, in “Devices” using the Estimote App. This all while being within a 1m range.

Any tips? Or some hope for the future?

I created tracking bug for that on GitHub: https://github.com/Estimote/Android-SDK/issues/130
Please do star it to get notification on development.