Это действительно зависит от разработчика, как реализовать сервис определения местоположения. Полное описание доступно здесь:
http://developer.android.com/guide/topics/location/obtaining-user-location.html
График примерно 1/3 вниз по странице довольно полезен, чтобы увидеть, что может делать типичное приложение, но опять же, это полностью зависит от разработчика приложения. Типы услуг определения местоположения:
- Кэшированное исправление
- Cell-ID
- Wi-Fi
- GPS
- Макет Местоположение
Если приложение запрашивает разрешение только для грубого местоположения, оно не будет использовать GPS для определения местоположения.
Чтобы ответить на ваши вопросы ...
- Это зависит от конкретного разработчика приложения, но в большинстве случаев последовательность будет Cached Fix, Cell-ID, Wifi, GPS, в этом порядке.
- Да, после получения идентификаторов башен или идентификаторов SSID сигналов WiFi эти данные передаются в Google для определения приблизительного местоположения.
- Нет, Google сделал кое-что действительно умное здесь. Google имеет собственную базу данных местоположений вышек сотовой связи и не требует взаимодействия с оператором связи для определения местоположения вышек.
В этой статье есть некоторые подробности http://franciscokattan.com/2010/02/06/dynamic-cell-id-clever-way-to-block-google-but-will-it-backfire/
Короткая версия заключается в том, что при использовании приложения, такого как Google Maps, приложение будет отправлять текущую информацию Cell-ID обратно вместе с вашим текущим исправлением GPS. Таким образом, Google получает очень хорошую выборку уровней сигнала в разных местах и может создать очень богатую базу данных.
Во многом это зависит от носителя, и я не разработчик, но вот что я мог бы собрать воедино из Интернета и тренингов по электронному расследованию преступлений:
источник
Ваш телефон знает, какие ближайшие башни. Для каждой страны существует база данных провайдеров, идентификатор которой находится на карте. Эта база данных может быть достаточно маленькой, чтобы быть предварительно установленной вашим провайдером или предоставленной по беспроводной сети. Как андроид телефон получает эти данные, я не знаю.
источник
У меня немного другие ответы для # 3: устройство можно использовать, если вы хотите использовать триангуляцию, но вам нужно использовать носитель, если вы хотите сопоставить Cell-ID и локализацию башни gsm (или cdma).
источник