It seems that onBeaconsDiscovered
returns stale ranges in the period between when a beacon physically goes out of range, but before the 30 second limit which the Estimote SDK enforces before onExitedRegion
is called.
e.g Here’s a trace printing Utils.computeAccuracy
. Half way through I turn over the beacon to disable it, but onBeaconsDiscovered
continues to be called with stale data until the timeout has elapsed. (You can see the value freeze at 0.044655883777718224
)
12-16 15:53:46.549: Range to beacon: 2.1656211825380707
12-16 15:53:48.284: Range to beacon: 1.4231323591700062
12-16 15:53:50.334: Range to beacon: 1.4231323591700062
12-16 15:53:52.287: Range to beacon: 0.2918833943147302
12-16 15:53:56.464: Range to beacon: 0.08566693304992186
12-16 15:53:58.354: Range to beacon: 0.044655883777718224
12-16 15:54:00.257: Range to beacon: 0.044655883777718224
12-16 15:54:02.507: Range to beacon: 0.044655883777718224
12-16 15:54:04.474: Range to beacon: 0.044655883777718224
12-16 15:54:05.574: Range to beacon: 0.044655883777718224
12-16 15:54:06.588: Range to beacon: 0.044655883777718224
12-16 15:54:09.605: Range to beacon: 0.044655883777718224
My question is, is there any way to exclude these stale values? If there is no real data I’d prefer if onBeaconsDiscovered
wasn’t called, or that I had some way to tell that the data was fake / stale.