Комментарии 26
По-моему, вы узнаёте не местоположение устройства, а местоположение базовой станции, на которой оно обслуживается.
Как видите, мы не использовали ни GPS, ни службу определения местоположения. Полученные данные мы отправляем к API, а в ответ сразу получаем информацию о местоположении устройства.
А Google Geolocation API - это не служба определения местоположения?
И, насколько я знаю, у этого API есть ограничение на скорость запросов. Если вы хотите часто к нему обращаться, то платите денежки.
Это позволило нам определить местоположение пользователя с помощью триангуляции.
Не критики ради, а информации для - в тексте, кроме этого предложения, нет больше ни одного упоминания и тем более использования заявленного метода.
Простое использование информации о базовой станции, на которой зарегистрирован телефон.
Но, уверен, многие пользователи просто не рассчитывают, что приложение регулярно может получать информацию о местоположении телефона (с той или иной точностью), несмотря на отключенный GPS.
В оригинальной статье конкретная реализация алгоритма не раскрыта.
А там нет никакого алгоритма, достойного раскрытия. Они взяли у телефона доступную через официальное апи информацию о том, к какой БС тот подключен, а потом засунули эту информацию в публично доступный сервис. Все.
Но, уверен, многие пользователи просто не рассчитывают, что приложение регулярно может получать информацию о местоположении телефона (с той или иной точностью), несмотря на отключенный GPS.
Но ведь пользователи сами выдают разрешение ACCESS_COARSE_LOCATION.
Без этого пермишена приложение просто молча падает.
Важно! Для доступа к сетевой информации на устройстве всё же необходимо запросить соответствующее разрешение
А столько было обещаний...
На этом реализация киллер-фичи приложения закончена
А как простой пользователь может заблокировать эту киллер-фичу? Чтобы приложение условного калькулятора не отслеживало координаты…
Ваше приложение должно сделать запрос к API
То есть с моей мобилы идёт запрос на Unwiredlabs...?
Получается просто заблокировать *.unwiredlabs.com?
А как простой пользователь может заблокировать эту киллер-фичу?
Не давать разрешение android.permission.ACCESS_FINE_LOCATION
. И доступ к симке тоже не давать. Зачем это все калькулятору?
Не знаю кто там какое приложение делает, но мне тут стало любопытно, зачем приложениям такие как управление наушников или часов с браслетами и всяких калькуляторов получать разрешение на получение информации о контактах пользователя, доступ к пользовательскому контенту и местоположении. И почему запрет этих разрешений, влечет за собой неработоспособность приложения. Дома валяются четыре комплекта ушей и браслет, приложениям для которых нужно предоставлять практически неограниченный доступ к данным на телефоне.
Однажды я подобный вопрос на хабре уже задавал, но особо не получил внятного ответа зачем это. Кто то ещё не знает что на телефонах бывает контент 34? Китайским, корейским, израильским и прочим товарищмайорамполковникам злой пейсбук с гуглом и яндексом не продают данные о пользователях?
Тфу... Думал таки найду действительно карту вышек/антенн сотовой связи. А тут тоже фуфло.
Есть в деревне за 700км от МКАД три вышки, вроде как сотовой связи. Реально их видел, давно стоят. Сам я не там. И вот надо подобрать антенки, чтоб модем хорошо настроить на определённого провайдера. Но где он, на какой из вышек? Та, что за 7км, та, что за 4км, или та, что за 2км, но скрывается за тополями на горизонте?
Ни на одной карте этих вышек не нашёл. Придется два выезда делать, сначала приехать замеры устроить, потом оборудование закупать-везти.
Сразу вспомнил про программу для дроида "Cell info" и то, что она делает привязки станций к карте. Небольшой поиск привел меня на https://location.services.mozilla.com
Уже там можно забрать файлик со списком станций, координатами и т.п.
Посмотрите, возможно это то, что Вам нужно.
Разбейте задачу на подэтапы:
определение высоты антенны (сопоставить рельеф вышек и места антенны)
юстировка положения антенны (делается на месте) + CellInfo аппа для Android.
Сам год назад решал аналогичную проблему.
Ваше приложение для Китая? В принципе вы описали Fused Location Provider в Play Services, только менее точный.
Речь идёт только для Android?
Без GPS и геолокации: узнаём местоположение пользователя, используя сим-карту