Как использовать GPS без использования Google Location Services


18

Поскольку я не хочу соглашаться с соглашением о конфиденциальности Служб размещения Google, у меня это отключено. При этом я знаю, что некоторые функции определения местоположения, например, на основе сотовой связи и Wi-Fi, не будут работать.

Однако я ожидаю, что простые функции GPS будут работать в обычном режиме. Для меня нормальным функционированием было бы использование данных GPS, если они доступны, в противном случае используйте последнее известное местоположение . (Исторически так работают GPS-приемники)
Текущая реализация (я использую Android 5, Lollipop) от Google, однако, кажется, вообще не дает никакого местоположения, когда нет четкого решения, выдает мне множество предупреждений и помещает меня во все мир, а не в моем родном месте.

Мой вопрос:
Кто-нибудь знает стороннего провайдера / спуфера, который просто кэширует мое последнее известное местоположение, если нет GPS-определения? (просто возвращая мне нормальную функциональность)
Дополнительные функции, которые были бы очень полезны, - это кэширование данных Wifi / Cell, поэтому, если бы я был где-то, он запомнил бы без исправления GPS.

Любые предложения будут с благодарностью!


Будет ли альтернативный поставщик для сетевого местоположения (замена местоположения Google, для которого требуется root) также приемлемым решением?
Иззи

@ Иззи - будет ли альтернатива хранить последнее известное местоположение? Чтобы другие приложения использовали эту информацию для запуска, вместо того, чтобы ждать исправления спутника.
HasH_BrowN

Решение, которое я имею в виду, использует местоположения вышек сотовой связи, которые хранятся локально на устройстве (вы определяете, какие области вам нужны). Пока ваш телефон не находится в режиме полета и вы находитесь в области, покрытой вашими данными, следовательно, он всегда знает, где находится, не требуя подключения для передачи данных.
Иззи

@ Иззи. Я думал, что это один из способов работы GPS-навигатора, но он не подтверждает исправление. Он кэширует мою позицию (и увеличивает скорость исправления), поэтому решение с помощью GPS помогает ответить на мой вопрос. Однако меня также интересует решение, которое вы указываете, это может быть альтернативный ответ с некоторыми преимуществами по сравнению с решением для кэширования.
Реквист

1
Готово - см. Мой ответ ниже. Это просто набросок, но он должен дать вам идею - и указывает на дополнительные ресурсы для деталей. Наслаждайтесь!
Иззи

Ответы:


9

Вы можете попробовать это приложение: GPS Aids .

Он пытается обеспечить более быстрое и стабильное исправление путем предоставления нескольких вспомогательных средств GPS (данных помощи GPS, таких как долгосрочные орбиты LTO, gpsOneXTRA и AGPS), и кэширует ваши последние известные данные GPS.

Он будет работать без рута, но некоторые параметры требуют root-доступа.


Кажется, я делаю то, что хотел, собираюсь протестировать немного больше, но пока хорошо выглядит.
Реквист

2
Программа работает хорошо для меня, не могли бы вы немного увеличить описание в вашем ответе для дальнейшего использования? Теперь мы знаем, что он работает на Lollipop, возможно, вкратце объясним, почему программа является ответом.
Реквист

К сожалению, приложение больше не доступно.
анол

11

Не совсем соответствует вашему описанию (с использованием «последней известной» позиции, если не доступен GPS), но все же хорошая альтернатива:

На двух моих устройствах я полностью избавился от всех проприетарных сервисов Google, заменив их альтернативами. Подробно я описал это в Android без Google 5: освободите свой Droid! Update ( обновить ¹). Короче, вот что я сделал:

  1. Прошивка пользовательского ПЗУ без GApps (здесь: CyanogenMod)
  2. Установка microG (преемник NOGAPPS )
  3. Генерация lacells.dbкак описано в XDA , и подтолкнул его к устройству

В результате у меня есть полностью автономный сервис рабочего местоположения, использующий идентификаторы lacells.dbвышек сотовой связи и доступ к Playstore через BlankStore ¹ или YalpStore , и работающий API Карт с помощью OpenStreetMap. Таким образом, с «GPS не активен», я по-прежнему узнаю свое местоположение, пока в пределах досягаемости находятся вышки сотовой связи. Однако я не могу сказать, использует ли он «последнюю известную позицию», если нет GPS и вышек сотовой связи.

¹ Раскрытие: ссылка перейти на один из моих сайтов


Сладкий! Мне очень нравится этот вариант, но это не самое удобное решение. На практике я думаю, что не будет много мест, где вы не сможете «увидеть» какие-либо вышки сотовой связи, даже если подключение к ним будет невозможно из-за низкого SNR. Это решение переключается на GPS, если исправление доступно, или драйверы GPS являются частью GApps?
Реквист

GPS отдельно от этого. Я никогда не пробовал "переключаться при отказе", поэтому я не уверен, как он ведет себя с включенным GPS, но не исправил. Я предполагаю, что он просто выбрал бы «самый точный набор» и, таким образом (без GPS-фиксирования), использовал местоположение вышки сотовой связи - но я не уверен.
Иззи

@Requist, как для «дружественных»: снова стало легче. Теперь есть LineageOS для microG , доступная для всех устройств, имеющих официальную поддержку LOS. Это идет с предустановленным microG и F-Droid, готовым к работе. Для определения местоположения они предварительно установили серверную часть Mozilla (для извлечения данных онлайн, так что вы могли бы подумать, что она отслеживается Mozilla), но вы можете легко заменить эту серверную часть на LocalGSMBackend, который я описал в своем ответе. Работает как ветер, только что оснастил мое новое устройство BQ :)
Izzy

4

Используя Fairphone 2 и Fairphone Open OS и следуя этому руководству по жизни без Google, я настроил службы определения местоположения с помощью поставщика промежуточного ПО определения местоположения µg UnifiedNlp (без GAPPS)

Это легко сделать с помощью репозитория F-Droid

  • Установите мкг UnifiedNlp (без GAPPS)
  • Установите бэкэнды геолокации, такие как LocalGsmNlpBackend
  • Установить бэкэнд геокодирования NominatimeNlp
  • Перезагрузите телефон
  • Запустите приложение µg UnifiedNlp и настройте серверные части. В LocalGsmNlpBackend выберите «создать базу данных» и дайте ей сгенерировать базу данных из OpenCellID или Mozilla Location Services (это занимает много времени и загружает огромные объемы данных, поэтому убедитесь, что вы подключены к WiFi)
  • Включить параметры местоположения в настройках

Результат: как GPS, так и сетевые службы определения местоположения работают практически без ущерба для конфиденциальности.


1

Доступ к местоположению в службе Google Location и доступ к местоположению в Android не зависят друг от друга.

Приложения могут использовать либо Android Location Manager (который не зависит от сервиса Google Location), либо сервис Google Location.

Таким образом, вы все еще можете использовать приложения, которые получают доступ к местоположению через Android Location Manager. Согласно моему исследованию 5000 лучших приложений, большинство приложений по-прежнему используют Android Location Manager. Таким образом, вы должны быть хороши без Google Location Services.


Да, поддержка местоположения в Android значительно улучшилась. Я до сих пор не пользуюсь службой определения местоположения Google, но теперь Android Location Manager кеширует ваш последний статус и местоположение, поэтому больше не требуется сторонних инструментов для обычного использования (за исключением, может быть, данных о местоположении Wifi / Celluar).
Требовать
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.