Android: Why does Google ask me to turn on WiFi for location services?

A recent post on Joao Apps AutoLocation FAQ made me realise just how common this question is, and how some people don’t realise why it is asked. So why does Google need WiFi on and doesn’t this cause unnecessary battery drain?

I’m going to quote Joao on his FAQ post and share it as it gives a good insight into something which is not necessarily obvious.

If you want any kind of reliable location service to work on your device, you’ll have at least a bit of battery drain, there’s no way around that.

The reason you need to have Wifi on is this:

  • Google knows where Wifi networks are located
  • When monitoring Geofences, your phone will look for nearby Wifi networks, and send that info to Google
  • Google will check their data base and see where those Wifi networks are located
  • Google will report back your approximate location on your phone based on that info

So, your locations will only be accurate if:

  • Your Wifi is turned on
  • There are Wifi networks around you
  • Google knows about these Wifi networks
  • If any of these conditions are not met, your location may be way off.

Obviously this is more tailored to users of his AutoLocation App. However it is still relevant as Google use location awareness for a lot of things in the background of your phone such as weather updates and Google Now cards, as well as passing this data onto other apps like FourSquare, Twitter, Facebook etc.

So next time you get this popup and wonder why, hopefully now you’ll know.

Source: Joao Dias on G+ & Joapps.com Autolocation FAQ

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s