In high accuracy mode, the description says that WiFi/cellular network is used apart from GPS to determine location. How exactly are they used and what data does the cellular network provide?
Here are the basic technologies for location on an Android device:
- GPS (Global positioning system) - uses satellite signals to determine location without external request, high accuracy (~5 m), high power, high time to first fix.
- WiFi - uses WiFi scans and requests location from Google (possibly over cellular network), medium accuracy (~50 m), low power, low time to first fix
- Cellular - low accuracy (~500 m), low power; I am least sure how this works; there may be both versions where location is queried from Google as well as from the cellular provider.
- Bluetooth - uses Bluetooth scan and requests location from Google, high accuracy (~10 m), low power, low time to first fix, low coverage (doesn't work in many places)
A-GPS is assisted GPS. Without assistance, the Android device must listen for what satellites are currently overhead, which is slow and may require 10+ minutes to give a first fix. In A-GPS, the Android device uses its data connection (possibly cellular) to request which satellites are currently overhead. This reduces the time to first fix to ~30 seconds.
High accuracy mode will use A-GPS, but is not equivalent. In high accuracy mode, the Android device will first acquire a coarse location fix (say using WiFi) because this can be done in a few seconds, then it will improve this location fix with (A-)GPS when this becomes available. When this happens on Google Maps, for example, you will see the blue uncertainty area suddenly shrink in size because GPS is more accurate than WiFi or cellular positioning. High accuracy will provide a fix faster than A-GPS alone would.
GPS specifically refers to the US constellation of satellites, but people use this term to refer to the European (Galileo) and Russian (GLONASS) as well. Global navigation satellite system (GNSS) is the more appropriate generic term. The GNSS system used by your Android device depends upon its particular hardware. Your Android device's applications do not care which system is used.
In order to use Google's WiFi, cellular, or bluetooth location systems, you need to have an internet connection and be in an area with the corresponding technology covered and mapped. Your device scans for access points/towers/transmitters, and sends the results with signal strengths to Google, which estimates where you are. If the scan is empty, or in a place where that has not been mapped, your device location will be unknown. To be mapped, a sufficient number (as determined by Google) of people must have provided location information with scans for the area, like wardriving. It does not matter how you get your internet connection; you can use WiFi location with a mobile data connection because the results of a scan can still be sent.