In Android 5, 6, 7 and 8, applications can scan WiFi signals once every few seconds (1-3 seconds). This is optimal to provider indoor positioning. Unfortunatelly, from Android 9 onwards, Android implements a limitation called WiFi Throttling, that limits number of WiFi scans to 1 every 30 seconds.  


Therefore, Situm receives less frequent data than in previous versions, which means:

  • Reduced indoor position accuracy.  Situm is able to provide a location even with this reduced information rate, but you will notice a drop of accuracy. 
  • WiFi calibration may not be possible. Calibrating at a rate of 1 scan every 30 seconds can take an unrealistic ammount of time.

Everytime that the WiFi Throttling is detected:

Android 9: Does not let you calibrate the WiFi and a warning is shown up advicing that only beacons (BLE) will be calibrated.

Android 10 and onwards: When the calibration starts, it checks if there is wifi throttling (this takes about 10-15 seconds). If it is not active, the calibration can be performed normally. If the WiFi Throttling is detected, the calibration stops and a warn is shown. It gives two options: a tutorial about how to disable the WiFi Throttling or send an email to support for help.


Please, check session 3 below about How to Disable WiFi Throttling in your device (Android 10 and superior) 





Fortunatelly, there are ways to overcome or limit the impact of these limitations:


1. Calibrate with any device except with an Android 9 device 


In order to calibrate your building with WiFi, you just have to avoid doing it with Android 9 devices. Any other device will be fine, from Android 5 to 8, as well as modern smartphones such as Android 10 and above.


If you plan to use an Android 10 or superior devices, you must disable WiFi Throttling first (see Section 3 of this guide).


2. Use beacons (Wayfinding apps)


If you are using Situm to build a Wayfinding app, chances are that you have already considered the installation of beacons in order to enable positioning for iOS devices.  This beacon infrastructure will be enough to provide accurate positioning for any Android device as well, even if your users do not disable WiFi Throtling (see next Section).


In case of tracking apps, we recommend that you disable WiFi Throttling in your device (see next Section).


3. Disable WiFi Throttling in your device (Android 10 and superior)


In Android 10 and superior versions, you can disable WiFi Throttling. If you do so, everything will work just fine (same accuracy as in Android 5, 6, 7 or 8). This is specially relevant for tracking applications, which typically target Android devices (not iOS devices). Once they disable WiFi Throttling, these apps will work  with WiFi-only infrastructure, avoiding the installation of beacons.



Disabling WiFi Throttling in your smartphone - Easy Option


To disable WiFi Throttling, you must first turn on Developer Options. In your smartphone, go to: Settings > About Phone. Then, tap on the menu called "Build Number" 7 times. This will turn on the Developer Options.



Then, go to Settings> System> Developer Options. On Networking, turn off the WiFi scan throttling.  




Disabling WiFi Throttling in your smartphone - Advanced option


As an alternative to the previous process, you may also disable WiFi Throttling in your device by using the following ADB command. Install ADB 


adb shell settings put global wifi_scan_throttle_enabled 0



Ignore WiFi Throttling in Situm Mapping Tool (Android 10 and superior)


By default, in devices over Android 9, Situm Mapping Tool assumes that WiFi Throttling is enabled and therefore optimizes the use of WiFi scans. Once you disable WiFi Throttling in your device (see previous sections), you may disable this behaviour, therefore allowing Situm Mapping Tool to scan WiFi at full speed.



To do so, open Situm Mapping Tool and go to Settings > Positioning > Advanced Settings. Then turn on the  "Ignore the WiFi throttling" switch.




Now Situm Mapping Tool can get its full performance. You may test the positioning within your building and you will notice that: 1) WiFi now scans every few seconds, 2) accuracy is as high as in Android 5, 6, 7, 8 devices.


You may also calibrate with WiFi without experiencing any issue.


Ignore WiFi Throttling in your Android app (Android 10 and superior)


Same as with Situm Mapping Tool (see previous Section), Situm SDK  assumes that WiFi Throttling is enabled in Android 9 and above devices. Therefore, it optimizes the use of WiFi scans. Once you disable WiFi Throttling in your device (see previous sections), you may disable this behaviour. This will allow Situm SDK, and therefore your app,  to scan WiFi at full speed.



In order to do so, you may take a look at Section WiFi/Ignore WiFi Throttling in this article.