Android - How does Android get the coarse location?

It is really up to the developer as to how to implement the location service. The full description is available on the Android Developers official site (as captured on 24 Sep 2010)

The graph about 1/3rd down the page is pretty useful to see what a typical app might do, but again, it is completely up to the app developer. The location service types are:

  • Cached Fix
  • Cell-ID
  • WiFi
  • GPS
  • Mock Location

If the app requests permission for coarse location only, it will not use the GPS to determine location.

To answer your questions:

  1. It is up to the individual app developer, but in most cases, the sequence will be Cached Fix, Cell-ID, WiFi, GPS, in that order.
  2. Yes, after acquiring the tower IDs or SSIDs of the WiFi signals, that data is transmitted to Google to determine a rough location.
  3. No, Google has done something really clever here. Google has their own database of cell tower locations and does not require an interaction with the carrier to determine the location of the tower.

An article by Francisco Kattan on "Dynamic Cell-ID" has some of the detail. The short version is that, when you use an app like Google Maps, the app will send the current Cell-ID information back along with your current GPS fix. In this way, Google gets a very good sampling of the signal strengths in various locations and is able to build a very rich database.


A lot of this is carrier-specific and I'm not a dev but here's what I could piece together from the interwebs and the trainings I've had in electronic crime investigation:

  1. Yes, but it depends on the specific apps LBS priorities which are set by the dev and can be based on current course accuracy, power levels, predefined priorities, etc.
  2. Yes. The carriers have proprietary WiFi base station location DBs.
  3. I can't speak to Android specifically, but generally, this is going to be the carrier and network type (CDMA or GSM). Phones are capable of both, but at least a few years ago they did this work on the handset because of the bandwidth constraints of doing it OTA.

Tags:

Geolocation