можно ли получить местоположение через сотовую сеть, если на устройстве нет тарифного плана?

можно ли получить местоположение через сотовую сеть, если на устройстве нет тарифного плана?

или ему нужен тарифный план для определения местоположения через сотовую сеть?

нужен ли тарифный план для определения местоположения через сотовую сеть?

См. Что на самом деле означает «Загружать данные с помощью GPS только через сети Wi-Fi»? поскольку я думаю, что это охватывает то, что вы спрашиваете.
это для «wi-fi» и другого вопроса, также я спрашиваю о «сотовой сети». У меня также есть этот вопрос, но я еще не задавал его: могут ли устройства Android получать местоположение с помощью Wi-Fi, если устройство не подключено к каким-либо сетям Wi-Fi? или устройство должно быть подключено к Wi-Fi?
Перечитайте этот ответ: android.stackexchange.com/a/101344/3573 Данные о местоположении должны поступать откуда-то: GPS со спутника, AGPS с вышки сотовой связи или местоположение на основе WiFi из Служб Google. Во всех случаях он должен быть отправлен при наличии подключения для передачи данных. Так что, если вы находитесь в пустыне без Wi-Fi и сотовой связи, GPS в конечном итоге заработает. Вы должны обновить свой вопрос, с какими вариантами включения/выключения у вас возникают трудности с пониманием.
так какой тогда ответ? Да, вам нужен тарифный план? или нет, вам не нужен тарифный план? Вы говорите, что устройство должно быть подключено к чему-то, что дает местоположение? я не знаю, что вы подразумеваете под «предполагаемым» подключением к данным. я не знаю, имеете ли вы в виду «с», «через» или «имеет» соединение для передачи данных. это использование слова «предполагать» мне очень непонятно
Вы спрашиваете, нужен ли вам тарифный план, вы не указываете, какое местоположение (точное или грубое) вы пытаетесь получить или как долго вы готовы ждать. GPS не требует данных сотовой связи или Wi-Fi, но потребуется некоторое время, чтобы получить исправление, поскольку соединение для передачи данных для данных о местоположении поступает со спутника(ов). Смотрите ответ, связанный с моим вторым комментарием.
я не знаю, нужны ли они?: 1) «какое расположение (тонкое или грубое)» - что вы подразумеваете под «тонким или грубым»? только ж/д сотовые сети (lte) дают вам. 2) «или как долго вы готовы ждать» - я не знаю, сколько времени потребуется сотовой сети. вопрос конкретно о сотовой сети, и можно было бы спросить о каждом из других способов «получения местоположения» отдельно. также были бы полезны хорошие видео-гайды или анализ всех основных способов. прямой ответ на вопрос: «Вы говорите, что устройство должно быть подключено к чему-то, что определяет местоположение?» необходимо также
Ваше замешательство меня озадачивает, поэтому позвольте мне вернуться к основам. Отредактируйте свой вопрос следующим образом: Какие устройства вы используете, и приведите примеры того, как вы собираетесь использовать устройства, связанные с местоположением и сотовой сетью?
я перефразировал вопрос; это тот же самый вопрос, что и раньше, только перефразированный. ни один из них не изменит ответ. 1) вопрос о методе, а не об устройстве, поэтому я не понимаю, почему это будет иметь значение: «Какие устройства вы используете». 2) опять же, вопрос касается только фактов о том, как что-то работает, поэтому я не понимаю, почему это может быть актуально: «примеры того, как вы собираетесь использовать устройства, связанные с местоположением и сотовой сетью?» - я тоже не знаю, что именно это означает, как будто я даже не знаю, как на это ответить

Ответы (3)

Да, это возможно без подключения к данным, например, с помощью UnifiedNLP и соответствующего провайдера определения местоположения . Например, я использую LocalGsmNlpBackend , который загружает выборку базы данных OpenCellId (для нужной мне области) на устройство для локального использования. Эта база данных содержит позиции вышек сотовой связи. Поскольку вы зарегистрированы хотя бы в одном из них, ваше приблизительное местоположение может быть оценено. Добавьте другого провайдера определения местоположения, который, например, основан на WiFi, для большей точности, если хотите. Помимо загрузки данных (желательно при подключении к домашнему Wi-Fi), это работает полностью без подключения для передачи данных.

Убедитесь, что вы выбрали правильный пакет UnifiedNLP, в зависимости от того, установлена ​​ли на вашем устройстве платформа Google (обычно она есть в стандартном ПЗУ, или если вы используете пользовательское ПЗУ, но с установленными GApps) или используете пользовательское ПЗУ без GApps.

Более подробное описание можно найти в моей статье Android без Google: microG , в которой обсуждается вариант на устройстве без Google framework.

Как указывает мой ответ: тарифный план не требуется, если у вас есть, например, база данных CellID на устройстве. Но, конечно, интерфейсы должны быть «вверху», чтобы «видеть» вышки сотовой связи/точки доступа Wi-Fi. Подключение для этого не требуется.

На Android приложениям можно предоставить местоположение с помощью двух типов разрешений: android.permission.ACCESS_COARSE_LOCATIONи/илиandroid.permission.ACCESS_FINE_LOCATION

из https://developers.google.com/maps/documentation/android-sdk/location#location_permissions

android.permission.ACCESS_COARSE_LOCATION — позволяет API использовать данные Wi-Fi или мобильных сотовых сетей (или и то, и другое) для определения местоположения устройства. API возвращает местоположение с точностью, примерно равной городскому кварталу.

android.permission.ACCESS_FINE_LOCATION — позволяет API максимально точно определять местоположение от доступных поставщиков услуг определения местоположения, включая глобальную систему позиционирования (GPS), а также данные WiFi и мобильных сотовых сетей.

Таким образом, если приложение предоставляет вам информацию о погоде, все, что нужно приложению ACCESS_COARSE_LOCATION, даст пользователю хорошее местоположение в радиусе 10 метров, что достаточно, чтобы знать, где находится этот человек в зависимости от погодных условий. Этот уровень точности может быть достигнут с помощью WiFi или данных через сотовые вышки.

Если приложение является приложением для обмена поездками, то ACCESS_FINE_LOCATIONоно необходимо, так как дает местоположение пользователя с точностью до нескольких метров. Это будет использовать GPS, чтобы получить местоположение пользователя.

Итак, мы подошли к вашему вопросу:

можно ли получить местоположение через сотовую сеть, если на устройстве нет тарифного плана?

Если мобильное устройство не имеет тарифного плана для передачи данных через сотовую сеть И данных через Wi-Fi, то приложения не будут работать COARSE_LOCATIONбез отдельного Location Provider(см. ответ @Izzy).

Обратите внимание, что, по крайней мере, в Соединенных Штатах операторы связи обязаны поддерживать E911, который в чрезвычайной ситуации должен быть в состоянии сообщить местонахождение телефона экстренным службам.

Если вы отключены от любой сети сотовой связи, отключены от WiFi и не пользуетесь специализированной, Location Providerто GPS сможет получить координаты вашего местоположения. Вычисление этих координат требует данных, которые предоставляются в сигнале со спутников, но из-за низкой пропускной способности это займет много минут. Координаты сами по себе не создают приложение, так как любое картографическое приложение должно предварительно кэшировать данные вашей карты (улицы, ориентиры, реки и т. д.) с момента, когда у вас были данные, до момента, когда у вас нет подключения для передачи данных. Наличие подключения для передачи данных ускорит расчет для FINE_LOCATION.

вау, уровень знаний просто сумасшедший... я должен был задать этот вопрос первым: «нужен ли тарифный план для определения местоположения через сотовую сеть?» но я предполагаю, что ответ - нет, и что есть высокотехнологичные способы сделать это. я просто хочу знать для обычного использования Android (не-dev), нужен ли тарифный план для определения местоположения через сотовую сеть ....? был бы признателен за простой ответ в комментарии ... также нужно знать ответ на вопрос «нужно ли / должно ли устройство быть подключено к чему-то (например, к сотовой сети), чтобы это что-то (например, сотовая сеть) указывало местоположение? ...
В ваших вопросах отсутствует конкретное «что вы пытаетесь сделать», поскольку сейчас ответ «это зависит», поскольку сотовые сети могут предоставлять данные для определения местоположения, но не требуются для получения местоположения.
'не требуется для получения местоположения.' - я не спрашиваю, единственный ли это способ или он необходим. Я никогда нигде не говорил: «Является ли сотовая сеть единственным способом определить местоположение?» как будто никогда и нигде не спрашивали. я еще спрашиваю конкретно об этом: «нужен ли тарифный план для определения местоположения через сотовую сеть?» - это просто простой вопрос да или нет. Вам как обычному пользователю нужен тарифный план для определения местоположения через сотовую сеть? Нужен ли большинству случайных пользователей тарифный план для определения местоположения через сотовую сеть?
здесь, что я пытаюсь сделать в целом, так это выяснить, какое устройство / вариант GPS лучше всего. это долгий процесс... несколько заданных вопросов являются частью последних шагов к выяснению. так как gps - очень специфическая тема, очень немногие люди знают, поэтому мне пришлось проверить/попробовать stackexchange. одна важная часть того, почему эти вопросы важны и актуальны, заключается в том, что в городских районах (Wi-Fi и сотовые сети более точны, чем GPS). GPS, как правило, более точен. также GPS использует больше энергии/ресурсов и работает медленнее. так что все это актуальная информация или выбор лучшего устройства / варианта GPS для карт Google и навигации.
Проблема в том, что запрос «дайте мне местоположение» отличается от запроса «через сотовую сеть». Некоторые случайные пользователи живут от точки доступа WiFi к точке доступа WiFi, и это нормально для них, другим нужен тарифный план данных, чтобы их фотографии в социальных сетях с геотегами были быстрыми и точными. There is NO generic casual userи я говорю это как разработчик приложения. Лучше описать то, что вы хотите сделать, также известное как история пользователя или вариант использования, и вы получите более информированный ответ. Если вы занимаетесь навигацией, вам понадобится FINE_LOCATIONэнергопотребление и отключения GPS в городских условиях.

Существует два основных способа геолокации устройства:

  1. Используйте глобальную навигационную спутниковую систему, такую ​​как GPS, Глонасс, Beidou или Galileo. Подключение для передачи данных не требуется, но его наличие ускоряет время до первого исправления.
  2. Найдите идентификаторы местных радиопередатчиков и найдите их в базе данных. Технология радиосвязи может быть сотовой, WiFi или Bluetooth; принцип тот же.

    Если вы не носите базу данных на устройстве (обычный случай), вам необходимо какое-то подключение для передачи данных. Для передачи данных не обязательно использовать тот же набор передатчиков, что и для поиска местоположения; вы можете искать идентификаторы WiFi, используя сотовое соединение для передачи данных, или вы можете искать сотовые идентификаторы в соединении для передачи данных WiFi.

    Если вы носите базу данных на устройстве, вам не нужно подключение для передачи данных. Найдите идентификатор в своей локальной базе данных, как в ответе Иззи.