Нет, вы не можете получить местоположение без использования GPS или интернета.
Методы определения местоположения на основе Wi-Fi, сотовой связи или Bluetooth работают с помощью большой базы данных, которая постоянно обновляется.Устройство сканирует идентификаторы передатчика и затем отправляет их в запросе через Интернет в службу, такую как Google, Apple или Skyhook.Эта служба отвечает местоположением, основанным на предыдущих беспроводных опросах из известных местоположений.Без доступа к Интернету вы должны иметь локальную копию такой базы данных и поддерживать ее в актуальном состоянии.Для глобального использования это очень непрактично.
Теоретически, оператор мобильной связи может предоставлять только локальную услугу передачи данных, но не иметь доступа к Интернету, а затем отвечать на запросы местоположения с мобильных устройств.Операторы мобильной связи не делают этого;никто не хочет платить за такой ограниченный доступ к данным.Если у вас есть услуга передачи данных через вашего оператора мобильной связи, то у вас есть доступ в Интернет.
Короче говоря, использование LocationManager.NETWORK_PROVIDER или android.hardware.location.network для определения местоположения требует использования Интернета.
Использование последней известной позиции требует от васу вас был GPS или доступ в интернет совсем недавно.Если у вас только что был интернет, возможно, вы можете изменить свое положение или настройки, чтобы снова подключиться к интернету.Если ваше устройство не имело GPS или доступа в Интернет, функция последней известной позиции вам не поможет.
Без GPS или Интернета вы могли бы:
- Сфотографировать ночное небо и использовать текущее время, чтобы оценить ваше местоположение на основе звездной карты.Это, вероятно, потребует дополнительного оборудования для обеспечения правильного измерения углов для ваших изображений.
- Используйте акселерометр для отслеживания местоположения, начиная с известной позиции.Накопление ошибок в таком подходе делает его непрактичным для большинства ситуаций.