GNSS, Interrupted: The hidden Android setting you need to know

The problem

Let’s say you’re excited to get working with GNSS raw measurement data. You fire up an app to collect raw measurement data (e.g., my GPSTest app or GNSSLogger), and then use Google’s tools to visualize this information. But you see something surprising — the data looks all choppy with frequent gaps.

Using default Android settings, you may see “choppy” GNSS measurement data, especially for L5 (Source: Andrew Wu, GPSTest Google Group)

The solution

Thankfully, if you want to leave your GNSS hardware on continuously while an app is using GNSS, a setting was added in Android 9 to enable this. However, it’s not easy to find.

To active developer options, in your Android system settings under “About phone” tap “Build number” seven times
“Developer options” is usually under system settings or under “System” submenu, depending on Android version. Android 11 is shown above.
Turn on “Force full GNSS measurements” to avoid gaps in raw measurement data
With “Force full GNSS measurements” setting enabled, the repeated gaps in the data are gone (Source: Andrew Wu, GPSTest Google Group)

Closing thoughts

Now you know how to use the hidden setting in the Android system “Developer options” to “Force full GNSS measurements”, which will disable duty-cycling of GNSS on your device. Note that this only keeps GNSS hardware active while an app is actively listening for location updates — GNSS will remain powered off otherwise.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store