Introduction
There are 3 network providers in Android (ranging from 1.5 to 2.2). They are:
- gps –> (GPS, AGPS)
Name of the GPS location provider. This provider determines location using satellites. Depending on conditions, this provider may take a while to return a location fix. Requires the permission android.permission.ACCESS_FINE_LOCATION. - network –> (AGPS, CellID, WiFi MACID)
Name of the network location provider. This provider determines location based on availability of cell tower and WiFi access points. Results are retrieved by means of a network lookup. Requires either of the permissions android.permission.ACCESS_COARSE_LOCATION or android.permission.ACCESS_FINE_LOCATION. - passive –> (CellID, WiFi MACID)
A special location provider for receiving locations without actually initiating a location fix. This provider can be used to passively receive location updates when other applications or services request them without actually requesting the locations yourself. This provider will return locations generated by other providers. Requires the permission android.permission.ACCESS_FINE_LOCATION, although if the GPS is not enabled this provider might only return coarse fixes.
This is what Android calls these location providers, however, the underlying technologies to make this stuff work is mapped to the specific set of hardware and telco provided capabilities (network service).
Here is a table that maps/lists the underlying technologies in a different way:
Accuracy | Power Usage | Technology |
20ft | High | Autonomous GPS, Provider: gps
|
200ft | Medium – Low | Assisted GPS (AGPS), Provider: network
|
5300ft / 1mile | Low | CellID lookup/WiFi MACID lookup, Provider: network or passive
|
Android layers these underlying techniques and technologies into the 3 network providers listed above. There is no good way know exactly what Android will use, since all phones are different. Eg, on VZW network, the LG Ally does NOT have AGPS! The Droid 2 has all providers (AGPS, GPS, CellID, etc). On ATT network, almost all phones tend to have AGPS enabled by default, etc. Varies by network, by coverage area, and by country, and by device. Also, on VZW, the passive provider ends up using Verizon Location Services, which are very inaccurate (less accurate than 1 mile).
Summary
The best way to handle GPS is to use the “network” or “passive” provider first, and then fallback on “gps”, and depending on the task, switch between providers. This covers all cases, and provides a lowest common denominator service (in the worst case) and great service (in the best case).
copy - ScreamingToaster LLC
thank you!
'2019년 이전 정리 > GPS' 카테고리의 다른 글
GPS 아이콘을 변경 예제 (0) | 2012.08.27 |
---|---|
GPS Architecture 분석 1 (0) | 2011.01.28 |
GPS Architecture 정리중.... (0) | 2011.01.27 |
XTRA ? (0) | 2011.01.27 |
what is gpsOne? and gpsOne can operate in 4 modes (0) | 2011.01.27 |