[Android] IndoorLocationManager always calls onPositionOutsideLocation()


I successfully developed a prototype for an iOS indoor navigation App using the location beacons. Now, I’m trying to do the same thing for Android but have an issue with the position updates. When debugging I can see that the IndoorLocationManager is successfully created.
My issue is: After calling startPositioning(), onPositionOutsideLocation() gets called once. onPositionUpdate gets called never. I broke my code down to a very basic version of the app but still have this issue. This is my basic version:


  • I’m using a location (both Estimote Cloud location and real location) that works just fine with my iOS version.
  • My app has location permissions.
  • Bluetooth is enabled on my device

The phone I used was a Nokia 7 Plus with Android 9. I tried to run the app on a phone with Android 8.0.0 and the whole thing suddenly worked. Is it possible that there are some issues related to Android 9?

The Android Indoor SDK on GitHub uses an older version of our scanning library, which doesn’t support Android 9.

You can force it to use a newer version by adding this to your build.gradle dependencies:

implementation 'com.estimote:scanning-plugin:0.22.0'

This solved my issue, many thanks! :star_struck: