Android api - Как проверить текущее состояние приемника GPS? Программы для gps навигации и их краткая характеристика. Причины отсутствия сигнала

Сегодня все современные смартфоны оснащены встроенным GPS модулем, который показывает ваше местонахождение. Вы можете использовать смартфон в качестве навигатора во время занятий спортом или поездок на машине, а также использовать его для получения актуальных новостей или сведений о погоде в вашем городе. Теперь давайте разберемся, как проверить работу GPS на Андроиде, то есть, работает ли модуль определения местоположения на вашем устройстве или нет.

Проверка и настройка GPS с помощью приложения

Исходя их всех приложений, которые мы перепробовали, самым простым и эффективным оказалось GPS Test. Данная программа сможет быстро помочь найти все спутники в вашем регионе, предварительно их настроить и, возможно, использовать другие функции.

Developer: Chartcross Limited

Особенности программы GPS Test для Андроида

  • Показывает информацию о видимых спутниках;
  • Показывает активные спутники, используемые в данный момент;
  • Дает точные данные геопозиционирования;
  • Показывает точные координаты;
  • Дает данные о часовом поясе в месте расположения;
  • Указывает на положение спутников в небе;
  • Может служить электронным компасом;
  • Предоставляет самые разные данные, начиная от времени и даты, заканчивая высотой над уровнем моря;
  • Дает информацию о времени восхода и заката в том месте, где расположено устройство.

Как проверить состояние GPS-навигатора с помощью GPS Test

Открываем приложение, и если видим в левом верхнем углу надпись «3D Fix«, значит, навигатор работает корректно и все свои функции выполняет без малейших проблем. Показывает «No Fix«? К сожалению, с устройством неполадки и его слаженная работа невозможна.

Постоянное переключение между вышеприведенными режимами может быть и из-за плохих условий для получения GPS-сигнала. Это вызывается не только нахождением в закрытом помещении, влиять могут даже неподходящие погодные условия, например, дождь или сильный ветер.

Показывает «off»? Здесь все проще. Приемник просто отключен. Для его включения проделываем легкую процедуру: открываем «Настройки», переходим в пункт «Местоположение». Открывается новое меню под названием «Услуги определения местоположения». Всего предоставляется три режима:

  1. «По координатам сети»
  2. «Спутники GPS»
  3. Вспомогательные данные.

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

Настройка и регулировка GPS через инженерное меню

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

  1. Для этого необходимо переместиться в инженерное меню. Вводим код (там, где обычно пишем номер абонента) *#*#3646633#*#*;
  2. Далее нужно найти пункт YGPS (или что-то похожее);
  3. В итоге должна появиться карта, на которой будет много желтых точек. Они могут появиться не сразу.

Как раз эти точки и говорят о количестве спутников, которые были найдены. Если вы засечете время от начала сканирования и до полной загрузки всех найденных спутников, станет известно качество установленного GPS. После, эти данные можно сравнить с другими устройствами, к примеру, взяв у друга.

Видео-инструкция

Плохая работа GPS спутников в помещении

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

gurudroid.net

Почему не работает GPS на устройстве Андроид: причины и способы решения

Современные гаджеты уже настолько наворочены, что определить свое местоположение можно, больше не прибегая к помощи GPS-навигаторов. Иногда это необходимо для корректной работы приложений, иногда – чтобы создать верный маршрут. Когда не работает GPS на Андроид, это становится затруднительным. С чем это может быть связано и что делать для решения этой проблемы?

Закрытое помещение

Любое устройство плохо ловит или не ловит спутниковый сигнал вообще, если оно находится в закрытом помещении. Потому заниматься определением своего местоположения лучше на улице. В идеале пространство должно быть свободно даже от высоких зданий и деревьев, чтобы небо было полностью открытым, чтобы ничто не мешало гаджету искать работающий сигнал и подключаться к нужным спутникам.

Неправильная настройка GPS

Все устройства наделены двумя GPS-модулями. Один – это стандартный приемник, который можно включить в настройках (Общие – Местоположение – Режим). При выборе мобильных сетей или Wi-Fi устройство будет определять местоположение по вышкам, не проводя подключение к спутникам GPS. Этот способ самый быстрый, но при этом не всегда дает точный результат.

При выборе режима «Только GPS» телефон или планшет подключится к спутникам, но для этого устройству понадобится какое-то время. При этом желательно находится на улице на открытой местности или хотя бы положить гаджет на подоконник. Именно для работы второго модуля и нужна правильная настройка. Как проверить, ловит ли устройство сигнал? Для этого придется скачать и установить GPS Test – приложение для диагностики.

Приложение в Гугл Маркете

После запуска программы в настройках AGPS выбираем Update only, а в Settings – Keep Screen On. Теперь нужно вернуться к основному окну программы, начнется тест GPS на планшете или телефоне. При этом важным является то, что Wi-Fi и мобильные данные не должны быть ни включены в настройках Местоположение, ни использоваться в данный момент.

Настройки негаснущего экрана

Если диагностика показала, что устройство не находит спутники, то следует проверить правильно ли проведена настройка GPS на Android. Как настроить GPS? Для этого нужно сначала скачать любое приложение, которое сможет обрабатывать GPS сигнал. Если оно не помогает, нужно проверить настройки COM-порта коммуникатора.

Неудачная перепрошивка

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

Чтобы исправить эту ситуацию, нужно чтобы были включены AGPS в настройках местоположения и GPS. После этого нужно через окно набора номера войти в инженерное меню (для всех телефонов комбинация разная). Если войти в него не получится, придется воспользоваться любой специальной программой, но уже с правами root. Порядок действий в инженерном меню Андроид:

  • на закладке Satellites вкладки YGPS проверить, есть ли сигнал, т.е. пытается ли вообще телефон или планшет найти спутники;
  • перейти на вкладку Information и там по порядку нажать кнопки full, warm, hot, cold (это необходимо для сброса предыдущих настроек);
  • на вкладке NMEA Log нажать start;
  • вернуться на вкладку Satellites и подождать от 5 до 15 минут, пока устройство не найдет максимальное количество спутников, а шкалы сигнала GPS не позеленеют;
  • снова на вкладку NMEA Log, нажать stop.

Более подробно этот способ показан в видео.

Первичная привязка и калибровка

Бывает так, что устройство находится в какой-нибудь отдаленной местности. В этом случае желательно на длительное время положить его на открытой местности и подождать, пока пройдет поиск и привязка. Иногда навигация может перестать работать потому, что калибровка компаса неверная. Такой телефон или планшет будет неправильно ориентирован, вследствие чего появляется проблема с GPS на устройстве. Для калибровки необходимо скачивать специальное приложение, GPS Essentials. После его установки и запуска нужно:

  1. Нажать на иконку компаса.
  2. Выбрать гладкую ровную поверхность, положить на нее свой коммуникатор и убрать от него все электробытовые приборы.
  3. Плавно провернуть устройство вокруг каждой оси 3 раза.

После этого нужно снова попробовать подключиться и, если надо, повторить калибровку.

Проблемы с самим устройством

Если гаджет, проверенный и настроенный в соответствии со всеми правилами, все еще не ловит спутники, проверить настройки GPS и найти причину Вам помогут только в сервисном центре. Может так быть, что проблема таится в самом аппарате.

androidster.ru

Как настроить работу GPS на Андроиде

Ориентирование на незнакомой местности, как в огромном мегаполисе или небольшом городке, так и в деревне, в открытом поле на сегодняшний день в основном осуществляется при помощи смартфона. Человеку намного проще купить телефон с встроенным GPS-модулем, чем разбираться с картами, спрашивать у незнакомых людей дорогу. Ввел координаты – вот тебе и полный маршрут от точки А до точки Б. Но не каждый человек может разобраться с современными гаджетами, особенно, если ранее не пользовался подобными устройствами.

В этом материале мы расскажем, как провести настройку GPS на Андроиде, какие программы можно и нужно использовать для навигации и что делать, если GPS перестанет корректно работать!

GPS – помощь или панацея для пользователя?

Прежде чем перейти к описанию правильных настроек, стоит упомянуть об этой системе, а именно, о ее преимуществах и недостатках. Как вы знаете, система геопозиционирования позволяет любому человеку узнать свое местоположение, где бы он ни находился. Но при этом можно выделить два негативных фактора:

  1. Если вы часто используете опцию GPS на своем Андроиде, то увидите, что заряд аккумулятора тратится довольно быстро.
  2. Система GPS постоянно следит за вашим перемещением, причем все данные, как ни странно, хранятся под вашей учетной записью в Google. У них даже есть специальный сервис, с помощью которого можно просмотреть, где вы находились в определенное время, какие места посещали, в каких странах были и многое другое. И кто знает, что еще остается у компании Google при использовании данного модуля…

Первоначальная настройка

И так, вы приобрели телефон с встроенным GPS или вам подарили родственники. Как произвести его настройку? В принципе, по умолчанию служба отключена и для настройки нужно лишь активировать ее. Для этого заходите в пункт «Настройки» и находите вкладку «Мое местоположение» и обязательно разрешите системе доступ к геоданным на вашем смартфоне. Также активируйте пункты «По координатам сети», «По спутникам GPS».

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

В операционной системе Android, как правило, по умолчанию установлена программа для определения местоположения. Это могут быть, например, Google Карты или Яндекс Карты, в зависимости от разработчиков. Несмотря на то, что все телефоны на Андроиде изначально проходят сертификацию от Google, программное обеспечение дополняется уже компаниями, которые используют эту операционную систему в своих телефонах.

Настройка GPS на телефонах с процессором Media Tek

Если вы не в курсе, все модели телефонов на базе Android разрабатываются и комплектуются различными процессорами. На сегодняшний день одной из ведущих компаний является Media Tek, которая предоставляет процессоры разной комплектации для смартфонов. У нее же используется собственная технология для корректной и стабильной работы GPS-модулей.

Выше мы описывали стандартные настройки GPS, которые присутствуют практически в каждом смартфоне. Если ваш аппарат работает на чипсете от Media Tek, то дополнительно в настройках будет пункт «Вспомогательные данные GPS EPO». Активируйте данную вкладку и зайдите в меню «Параметры EPO». Зашли? Отлично! Теперь активируйте вкладку «Автозагрузка». Причем, если в момент настройки у вас будет возможность подключиться к интернету, можно будет сразу скачать специальные данные, которые предоставляют информацию о положении спутников. Для этого в данном меню вам нужно будет в самом низу нажать кнопку «Загрузить» и дождаться окончания загрузки файлов.

Настройка GPS для продвинутых пользователей

Внимание! Этот подраздел подразумевает не только настройку, но и ускорение работы GPS в целом на вашем смартфоне. Дело в том, что на скорость и точность определения вашего текущего положения влияет информация о спутниках, а именно, об их расположении. Как правило, в большинстве смартфонов эти данные устарели ввиду давнего обновления ПО или операционной системы.

Еще одна причина – китайские телефоны. В таких аппаратах по умолчанию прописаны настройки о расположении спутников для своей страны, соответственно, используя GPS в России, модуль GPS работает намного дольше, потому что данные в нем прописаны некорректно.

Замечали ли вы когда-нибудь, что ваше местоположение определяется 5-10 минут? Обычно мы списываем это на «производительность телефона», но, отнюдь, это далеко не так! Что же делать в таком случае? Предлагаем вам произвести настройку GPS на своем Андроиде с небольшим «хаком».

Ситуация с медленной работой GPS решается с технологией A-GPS. Ее суть заключается в следующем: на специальных серверах хранятся данные о положении спутников и с помощью интернета ваш смартфон может подключиться к ним и получить всю информацию за считанные секунды. Благодаря этим данным GPS подключается намного быстрее и определяет ваше местоположение точнее.

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

Как работать с файлом gps.conf! Вы можете изменить данные в этом файле в ручную или скачать уже готовый для конкретной страны. Если вам не хочется заморачиваться, то скачайте его для своей страны по ссылке - https://app.box.com/s/w57s1v1n3hie7l5lk28i/2/1033932257

Если же вы собираетесь редактировать gps.conf самостоятельно, то найдите в интернете инструкции, в которых описана каждая строчка, за что она отвечает. Для редактирования нужно будет воспользоваться приложением Root Explorer и права Root.

Внимание! Файл находится в директории /system/etc. Как только вы его замените или отредактируете в ручном режиме, сохраните все изменения и загрузите себе приложение GPS Test. Это специальная утилита, с помощью которой можно очистить все старые записи о спутниках и проверить корректность работы GPS. Просто установите ее, запустите и нажмите вкладку AGPS, перезагрузив после этого смартфон. Как только ваш телефон будет перезапущен, еще раз откройте программу и проверьте скорость определения местоположения.

Режимы работы модуля GPS в Андроиде

И последний, не менее важный пункт, который касается режимов работы GPS. В каждом смартфоне есть отдельные настройки для данной технологии, которые можно выставить по своему усмотрению.

Зайдите в «Настройки» на своем телефоне и выберите вкладку «Местоположение». Учтите, что в разных версиях Android пункты меню могут немного отличаться. Далее кликните пункт «Режим работы». У вас будет их три:

  1. «По всем источникам»
  2. «По координатам сети»
  3. «По спутникам GPS»

Теперь конкретно по каждому пункту!

Первый режим «По всем источникам». Система GPS будет автоматически подключаться ко всем возможным сетям, а именно: беспроводные Wi-Fi точки, мобильные сети, спутники. Это, как раз-таки, и есть технология A-GPS, которая обеспечивает наивысшую точность полученных данных и повышенную скорость работы. Но при этом не стоит забывать и про минусы! Заряд аккумулятора в этом режиме будет расходоваться намного быстрее!

Второй режим «По координатам сети». В основном использует информацию только от точек доступа и вышек. Но при этом корректность определения вашего местоположения немного искажается. Примерно на несколько метров, иногда десятки метров.

Третий режим «По спутникам GPS». Полностью деактивирует A-GPS технологию. Ваш смартфон будет определять местоположение только при помощи спутников. Причем, если вы зайдете в какое-нибудь здание, то связь будет потеряна или временно прервана.

Какой режим использовать – решать только вам. Если вам нужно точно определить координаты или местоположение, то активируйте первый пункт. Если же заряда батареи мало, но при этом нужно хоть как-то определить, где вы находитесь, то активируйте последний пункт.

Как видите, настройка GPS может быть осуществлена разными методами и способами, в зависимости от версии Андроид, программного обеспечения, производителя. Со временем на форумах появляется все большее количество разнообразных приложений и «хаков» для усиления работы GPS, внедрения дополнительных опций в свой смартфон. Следите за обновлениями и тестируйте!

mobimanual.ru

Как настроить GPS на Android

Многие современные коммуникаторы и планшеты оснащены GPS приемником, но случается, что после покупки нигде не поясняется как им пользоваться. Либо после перепрощивки Андроид GPS не функционирует. В любом случае, расскажем и покажем как привести в чувства навигатор GPS на КПК.

В данном видео настройка GPS Android проверялась с помощью программы GPS Test (бесплатно скачать с Android Market).

GPS в навигаторах на базе Android обычно комплектуются двумя модулями: 1 модуль - стандартный GPS приемник, можно включить через: Настройки (Settings) - Местоположение и защита (или Услуги определения местоположения). Далее нужно выбрать - Беспроводные сети (или По координатам сети) - и телефон определит Ваше положение по мобильным вышкам путем триангуляции, или через сеть Wi-Fi. Такой метод наиболее быстрый и не требует поиска и подключения к спутникам (данные также передаются в Google). Такой метод определения не всегда точен и может показывать неверное местоположение.

При использовании спутников GPS навигации - включается основной модуль GPS, он то и определяет местоположение по спутникам. Но такая проверка требует времени для поиска подходящих спутников. И главное - Вы должны находиться на улице или можно телефон положить на подоконник. Также многое зависит от чувствительности (качества) ГПС-модуля - для примера, старый HTC и новый бюджетник в одинаковых условиях, бюджетник не смог найти спутники даже с последнего этажа, для HTC это не составило сложностей.

В современных смартфонах навигационные модули встроены по умолчанию. В большинстве случаев они работают достаточно точно. Просто включите GPS в настройках, запустите приложение «Карты», и за считанные минуты программа определит, где вы находитесь. А если вы и не выключали GPS, то определение займёт и вовсе несколько секунд.

Но что если GPS не работает? Как тогда определить маршрут, скорость, ваше местонахождение? Не стоит спешить нести смартфон в ремонт: чаще всего это решается правильной настройкой телефона.

Вспомогательные сервисы

Кроме собственно спутникового приёмника, для определения вашего местонахождения порой очень полезны вспомогательные настройки. Как правило, они легко включаются на самом телефоне:

  • A-GPS. Этот сервис подгружает данные о вашем местоположении из Интернета, используя данные сотовых сетей, к которым вы подключены. Конечно, точность у него гораздо ниже, но он ускоряет точное спутниковое определение.
  • Wi-Fi. А вы не знали, что по данным сетей Wi-Fi тоже можно определить местонахождение?
  • EPO. Впрочем, о нём – ниже.

Когда настройка необходима: курьёз Mediatek

Сегодня компания Mediatek (известная также как MTK) – один из лидеров в производстве мобильных процессоров. Даже такие гранды, как Sony, LG или HTC, сегодня создают смартфоны на процессорах MTK. Но было время, когда процессоры этой тайваньской компании использовались только в убогих клонах iPhone или двухсимочных «звонилках».

В 2012-2014 годах Mediatek выпускала вполне достойные чипсеты, однако в них постоянно наблюдалась проблема: неверная работа GPS. Спутники с такими устройствами ведут себя согласно цитате: «меня трудно найти, легко потерять…»

Всё дело было в настройках вспомогательного сервиса EPO. Этот сервис, разработанный Mediatek, помогает заранее рассчитывать орбиты навигационных спутников. Но вот беда: предустановленные по умолчанию в китайских телефонах данные EPO просчитаны для Азии и при использовании в Европе дают сбои!

Исправляется это в современных моделях легко. Напомним, все эти инструкции подходят только для смартфонов на процессорах MTK:

  • Откройте меню настроек Android
  • Зайдите в раздел «Время» и выставьте свой часовой пояс вручную. Это нужно для отказа от сетевого определения местоположения для времени.
  • Зайдите в раздел «Моё местоположение», разрешите системе доступ к геоданным, поставьте галочки в пунктах «По спутникам GPS» и «По координатам сети».
  • С помощью файлового менеджера зайдите в корневой каталог памяти и удалите файл GPS.log и другие файлы с сочетанием GPS в названии. Не факт, что они там есть.
  • Скачайте и установите приложение MTK Engineering Mode Start, позволяющую войти в смартфона (https://play.google.com/store/apps/details?id=com.themonsterit.EngineerStarter&hl=ru).

  • Выйдите на открытое место с хорошей видимостью. Вокруг не должно быть высотных зданий или других объектов, мешающих прямому обзору неба. На смартфоне должен быть включен Интернет.
  • Запустите приложение, выберите пункт MTK Settings, в нём – вкладку Location, в ней — пункт EPO. Как вы уже догадались, мы обновляем данные EPO для СВОЕГО часового пояса и времени!
  • Нажмите кнопку EPO (Download). Загрузка должна произойти за считанные секунды даже при слабом соединении.
  • Вернитесь в раздел Location, выберите вкладку YGPS. Во вкладке Information последовательно нажмите кнопки Cold, Warm, Hot и Full. C их помощью обновляется информация о местоположении спутников на орбите, поэтому каждый раз придётся дожидаться загрузки данных. К счастью, это дело секунд.

  • В той же вкладке нажмите кнопку AGPS Restart. Вспомогательный сервис AGPS теперь будет учитывать уже загруженные данные и точнее определять положение спутников.
  • Перейдите в соседнюю вкладку NMEA LOG и нажмите кнопку Start. После этого перейдите во вкладку Satellites. Вы увидите, как система обнаруживает спутники. Этот процесс должен занять 15-20 минут, в его ходе значки спутников будут из красных становиться зелёными. Следите, чтобы дисплей в это время не отключался, а лучше отключите спящий режим вообще. Когда все (или большинство) спутники «позеленеют», вернитесь во вкладку NMEA Log и нажмите Stop.
  • Перезагрузите смартфон.

Да, это далеко не самая простая процедура. В зависимости от версии процессора MTK (мы описали действия для платформы MT6592) процедура может несколько отличаться, но по сути остаётся той же. Но после этих действий GPS на смартфоне будет работать замечательно.

Сегодня все современные смартфоны оснащены встроенным GPS модулем, который показывает ваше местонахождение. Вы можете использовать смартфон в качестве навигатора во время занятий спортом или поездок на машине, а также использовать его для получения актуальных новостей или сведений о погоде в вашем городе. Теперь давайте разберемся, как проверить работу GPS на Андроид, то есть, работает ли модуль определения местоположения на вашем устройстве или нет.

Для решения этого вопроса есть 2 варианта, простой с использованием приложения, и чуть сложнее с использованием стандартных возможностей вашего смартфона (инженерное меню).

Проверка и настройка GPS с помощью приложения

Исходя их всех приложений, которые мы перепробовали, самым простым и эффективным оказалось Данная программа сможет быстро помочь найти все спутники в вашем регионе, предварительно их настроить и, возможно, использовать другие функции.

Особенности программы GPS Test для Андроида

  • Показывает информацию о видимых спутниках;
  • Показывает активные спутники, используемые в данный момент;
  • Дает точные данные геопозиционирования ;
  • Показывает точные координаты;
  • Дает данные о часовом поясе в месте расположения;
  • Указывает на положение спутников в небе;
  • Может служить электронным компасом;
  • Предоставляет самые разные данные, начиная от времени и даты, заканчивая высотой над уровнем моря;
  • Дает информацию о времени восхода и заката в том месте, где расположено устройство.

Как проверить состояние GPS-навигатора с помощью GPS Test

Открываем приложение, и если видим в левом верхнем углу надпись «3D Fix «, значит, навигатор работает корректно и все свои функции выполняет без малейших проблем. Показывает «No Fix «? К сожалению, с устройством неполадки и его слаженная работа невозможна.

Постоянное переключение между вышеприведенными режимами может быть и из-за плохих условий для получения GPS-сигнала. Это вызывается не только нахождением в закрытом помещении, влиять могут даже неподходящие погодные условия, например, дождь или сильный ветер.

Показывает «off» ? Здесь все проще. Приемник просто отключен. Для его включения проделываем легкую процедуру: открываем «Настройки», переходим в пункт «Местоположение». Открывается новое меню под названием «Услуги определения местоположения». Всего предоставляется три режима:

  1. «По координатам сети»
  2. «Спутники GPS»
  3. Вспомогательные данные.

Для наиболее точного определения места, например, в автомобиле, рекомендуем активировать сразу все пункты. Из сетей лучше всего, конечно, работает Wi-Fi, но если условия этого не позволяют (нахождение на улице и т. д., как это обычно и бывает) — используйте мобильный интернет.

Используя данную программу, можно узнать много полезной информации о своем телефоне, и о его дополнительных возможностях.

Настройка и регулировка GPS через инженерное меню

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

  1. Для этого необходимо переместиться в инженерное меню. Вводим код (там, где обычно пишем номер абонента) *#*#3646633#*#*;
  2. Далее нужно найти пункт YGPS (или что-то похожее);
  3. В итоге должна появиться карта, на которой будет много желтых точек. Они могут появиться не сразу.

Как раз эти точки и говорят о количестве спутников , которые были найдены. Если вы засечете время от начала сканирования и до полной загрузки всех найденных спутников, станет известно качество установленного GPS. Позже эти данные можно сравнить с другими устройствами, к примеру, взяв у друга.

Видео-инструкция

Плохая работа GPS спутников в помещении

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

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

Системы навигации на мобильных устройствах () в последнее время стали необходимы не только для автомобилистов, но и для пешеходов, благодаря их хорошей способности строить пешие маршруты.

Но достаточно многим пользователям приходится сталкиваться с тем, что не работает или работает плохо система GPS на Андроид.

Это может выражаться в неполадках разного типа, зависящих от того, что именно вызвало поломку.

Определение

Что же такое GPS? Это система навигации – строго говоря, GPS/ГЛОНАСС представляет собой навигационный модуль, который позволяет пользоваться множеством приложений, использующих навигацию.

Неполадки

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

  • Полная невозможность определить местоположения;
  • Неточное определение местоположения;
  • Медленное обновление данных или полное отсутствие обновления (например, вы передвигаетесь в пространстве или разворачиваетесь, а указатель на карте не меняет своего положения долгое время).

Большинство неполадок могут исчезать самостоятельно при перезапуске или при перемещении в другую зону карты .

Но если такого не происходит, то нужно знать, чем они вызваны и как их устранить.

Возможные причины

Вызывать неполадки такого рода может достаточно много причин. Но все их можно разделить на две большие группы – это неполадки аппаратные и неполадки программные.

Об аппаратных неполадках говоря тогда, когда недочет присутствует собственно в физическом модуле навигации, а о программных – когда что-то неверно настроено в программном обеспечении смартфона или планшета.

Важно! Неполадки программного типа достаточно легко настраиваются и устраняются самостоятельно. Когда же речь идет о аппаратных поломках, лучше доверить дело сервисному центру, так как для неспециалиста процесс починки может быть достаточно сложным. И есть риск ухудшить ситуацию.

Аппаратные

Одна из самых распространенных проблем возникает при первом запуске модуля , то есть, когда вы впервые запускаете приложение, использующее GPS, на новом смартфоне.

В течение 15-20 минут геолокация может не работать, ничего происходить не будет, местоположение не определится.

При первом запуске это нормальное состояние, но в дальнейшем такое повторяться не должно.

Сходная ситуация может возникнуть в том случае, если вы проехали значительное расстояние, например, переместились в другую страну или регион, с выключенным модулем навигации.

В этом случае, при первом его запуске на новом месте, ему также потребуется время «подумать».

Неполадка может иметь место и при запуске на большой скорости, например, во время езды на автомобили – в этом случае модуль будет «притормаживать» первое время после включения.

Учитывайте, что в зданиях именно – навигация внутри помещения осуществляться не будет.

Ваше примерное местоположение в здании определяется с помощью расположения зон беспроводного интернета и вышек сотовых операторов, но не ГЛОНАСС.

Программные

Модуль ГЛОНАС можно отключить через настройки телефона, часто на новых моделях он не включен по умолчанию.

Потому многие новички, не привыкшие использовать Андроид, не включают его перед началом использования приложений с навигацией.

Кстати, такого типа оповещает пользователя о том, что ему необходимо включить навигацию.

Неточное определение местоположения бывает связано с особенностями зоны. Не во всех зонах система работает одинаково хорошо из-за особенностей работы спутников.

Имеются «слепые» зоны, которые навигатор пропускает или определяет не точно. Бороться с этим невозможно.

Устранение

Устранение неполадок, обычно, бывает довольно простым.

Но если после принятия всех перечисленных мер проблема не устранилась, возможно, что дело в неисправности модуля и он требует замены в условиях сервисного центра.

Аппаратные

Способов «лечения» подвисания программы после первого запуска навигационного модуля не существует.

Пользователю необходимо просто подождать около 15-20 минут после первого запуска приложения – за это время электронные составляющие устройства навигации настроятся на текущие условия работы и местоположение определится.

Именно поэтому сразу после покупки телефона рекомендуется запустить этот модуль для настройки, чтобы не ждать в ситуации, когда он понадобится срочно.

Программные

Включить навигацию на смартфоне достаточно просто. Чаще всего, приложение «спрашивает» само, включить ли навигацию, в случае, когда она отключена.

Тогда необходимо нажать на «ДА» или «ОК» во всплывшем окне, и приложение само включит геолокацию.

Если же такого уведомления не появилось, включите ее вручную, следуя алгоритму:

1 На разблокированном экране, на рабочем столе выдвиньте меню , сделав скользящее движение от верхней границы экрана вниз;

2 Появится меню с основн6ыми настройками устройства – в нем найдите иконку Геоданные/Передачагеоданных/Геолокация/Определение местоположения или т. п.;

3 Нажмите на нее, чтобы значок стал активным .

tracker example (15)


Если вам не нужно обновление в тот момент, когда исправление потеряно, вы можете изменить решение Stephen Daye таким образом, что у вас есть метод, который проверяет, присутствует ли исправление.

Поэтому вы можете просто проверить его, когда вам нужны данные GPS, и вам не нужен этот GpsStatus.Listener.

«Глобальные» переменные:

Private Location lastKnownLocation; private long lastKnownLocationTimeMillis = 0; private boolean isGpsFix = false;

Это метод, который вызывается внутри «onLocationChanged ()», чтобы запомнить время обновления и текущее местоположение. Кроме того, он обновляет «isGpsFix»:

Private void handlePositionResults(Location location) { if(location == null) return; lastKnownLocation = location; lastKnownLocationTimeMillis = SystemClock.elapsedRealtime(); checkGpsFix(); // optional }

Этот метод вызывается всякий раз, когда мне нужно знать, есть ли исправление GPS:

Private boolean checkGpsFix(){ if (SystemClock.elapsedRealtime() - lastKnownLocationTimeMillis < 3000) { isGpsFix = true; } else { isGpsFix = false; lastKnownLocation = null; } return isGpsFix; }

В моей реализации я сначала запускаю checkGpsFix (), и если результат верен, я использую переменную «lastKnownLocation» в качестве моей текущей позиции.

Как проверить текущее состояние приемника GPS? Я уже проверил метод LocationListener onStatusChanged но почему-то кажется, что он не работает, или просто неправильная возможность.

В основном мне просто нужно знать, мигает ли значок GPS в верхней части экрана (нет реального исправления) или сплошной (исправление доступно).

Итак, давайте попробуем сочетание всех ответов и обновлений и сделаем что-то вроде этого:

  • Добавьте разрешение ACCESS_FINE_LOCATION к вашему манифесту
  • Получить экземпляр системы LocationManager
  • Создайте GpsStatus.Listener который реагирует на GPS_EVENT_SATELLITE_STATUS
  • Зарегистрировать слушателя с помощью LocationManager с помощью addGpsStatusListener

Приемник GPS может быть примерно таким:

GpsStatus.Listener listener = new GpsStatus.Listener() { void onGpsStatusChanged(int event) { if (event == GPS_EVENT_SATELLITE_STATUS) { GpsStatus status = mLocManager.getGpsStatus(null); Iterable sats = status.getSatellites(); // Check number of satellites in list to determine fix state } } }

API-интерфейсы немного неясны о том, когда и какая информация GPS и спутников предоставляется, но я думаю, что идея состоит в том, чтобы посмотреть, сколько спутников доступно. Если он ниже трех, то вы не можете исправить. Если это больше, тогда у вас должно быть исправление.

Вероятно, пробная версия и ошибка позволяют определить, как часто Android сообщает информацию о спутниках и информацию о каждом объекте GpsSatellite .

Возможно, я ошибаюсь, но кажется, что люди, похоже, идут не по теме

мне просто нужно знать, мигает ли значок gps в верхней части экрана (нет фактического исправления)

Это легко сделать с помощью

LocationManager lm = (LocationManager) getSystemService(LOCATION_SERVICE); boolean gps_on = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);

Чтобы узнать, есть ли у вас надежное исправление, все становится немного сложнее:

Public class whatever extends Activity { LocationManager lm; Location loc; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); lm = (LocationManager) getSystemService(LOCATION_SERVICE); loc = null; request_updates(); } private void request_updates() { if (lm.isProviderEnabled(LocationManager.GPS_PROVIDER)) { // GPS is enabled on device so lets add a loopback for this locationmanager lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,0, 0, locationListener); } } LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { // Each time the location is changed we assign loc loc = location; } // Need these even if they do nothing. Can"t remember why. public void onProviderDisabled(String arg0) {} public void onProviderEnabled(String provider) {} public void onStatusChanged(String provider, int status, Bundle extras) {} };

Теперь, когда вы хотите узнать, исправлены ли вы?

If (loc != null){ // Our location has changed at least once blah..... }

Если вы хотите быть фантазией, у вас всегда может быть тайм-аут с использованием System.currentTimeMillis () и loc.getTime ()

Работает надежно, по крайней мере, на N1 с 2.1.

новый член, к сожалению, не смог прокомментировать или проголосовать, однако поступок Стивена Дейэ выше был идеальным решением для той же проблемы, с которой я искал помощь.

небольшое изменение на следующую строку:

< 3000;

IsGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) < (GPS_UPDATE_INTERVAL * 2);

в основном, поскольку я создаю медленную игру, и мой интервал обновления уже установлен на 5 секунд, как только сигнал gps отключается на 10+ секунд, то есть в нужное время, чтобы что-то выпустить.

cheers mate, потратил около 10 часов, пытаясь решить это решение, прежде чем я нашел ваш пост:)

сталкивайтесь с подобной проблемой во время работы над моим проектом MSc, кажется, что ответ Дейэ ошибочно сообщил «нет исправления», пока устройство остается в статическом месте. Я немного изменил решение, которое, похоже, отлично работает для меня в статическом месте. Я не знаю, как это повлияет на батарею, поскольку это не моя главная проблема, но вот как я это сделал, повторно запросив обновления местоположения, когда время исправить.

Private class MyGPSListener implements GpsStatus.Listener { public void onGpsStatusChanged(int event) { switch (event) { case GpsStatus.GPS_EVENT_SATELLITE_STATUS: if (Global.getInstance().currentGPSLocation != null) { if((SystemClock.elapsedRealtime() - mLastLocationMillis) < 20000) { if (!hasGPSFix) Log.i("GPS","Fix Acquired"); hasGPSFix = true; } else { if (hasGPSFix) { Log.i("GPS","Fix Lost (expired)"); lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener); } hasGPSFix = false; } } break; case GpsStatus.GPS_EVENT_FIRST_FIX: Log.i("GPS", "First Fix/ Refix"); hasGPSFix = true; break; case GpsStatus.GPS_EVENT_STARTED: Log.i("GPS", "Started!"); break; case GpsStatus.GPS_EVENT_STOPPED: Log.i("GPS", "Stopped"); break; } } }

После нескольких лет работы с GPS на мобильных устройствах Windows я понял, что концепция «потерять» GPS-фиксацию может быть субъективной. Чтобы просто слушать, что говорит GPS, добавление NMEAListener и разбор предложения скажут вам, было ли исправление «действительным» или нет. См. http://www.gpsinformation.org/dale/nmea.htm#GGA . К сожалению, с некоторыми GPS-устройствами это значение будет колебаться взад и вперед даже во время обычного хода работы в области «хорошего исправления».

Таким образом, другим решением является сравнение времени UTC местоположения GPS с временем телефона (конвертируется в UTC). Если они отличаются от разницы во времени, вы можете предположить, что потеряли позицию GPS.

Я знаю, что это немного поздно. Однако почему бы не использовать NMEAListener, если вы хотите узнать, есть ли у вас исправление. Из того, что я прочитал, NMEAListener предоставит вам предложения NMEA, и оттуда вы выберете правильное предложение.

Предложение RMC содержит статус фиксации, который является либо A для OK, либо V для предупреждения. Предложение GGA содержит Fix Quality (0 недействительных, 1 GPS или 2 DGPS)

Я не могу предложить вам какой-либо java-код, поскольку я только начинаю работать с Android, но я сделал библиотеку GPS в приложениях C # для Windows, которые я собираюсь использовать с Xamarin. Я только наткнулся на эту тему, потому что искал информацию о провайдере.

Из того, что я до сих пор читал о объекте Location, мне не все так нравится в таких методах, как getAccuracy () и hasAccuracy (). Я привык извлекать из предложений NMEA предложения HDOP и VDOP, чтобы определить, насколько точны мои исправления. Его довольно часто встречаются, чтобы иметь исправить, но иметь паршивый HDOP, который означает, что ваша горизонтальная точность не очень хороша. Например, сидя на своем столе, отлаживая внешнее Bluetooth-устройство GPS, сильно противостоящее окну, вы, скорее всего, получите исправление, но очень плохое HDOP и VDOP. Поместите устройство GPS в цветочный горшок снаружи или что-то подобное или добавьте внешнюю антенну в GPS и сразу получите хорошие значения HDOP и VDOP.

так много сообщений...

GpsStatus.Listener gpsListener = new GpsStatus.Listener() { public void onGpsStatusChanged(int event) { if(event == GpsStatus.GPS_EVENT_FIRST_FIX){ showMessageDialog("GPS fixed"); } } };

добавив этот код, с addGpsListener ... showMessageDialog ... просто показывает стандартное диалоговое окно со строкой

сделал работу отлично для меня:) Большое спасибо: =) (sry для этого поста, еще не смог проголосовать)

Как разработчик SpeedView: GPS-спидометр для Android, я должен был попробовать все возможные решения этой проблемы, все с тем же отрицательным результатом. Давайте повторим, что не работает:

  1. onStatusChanged () не получает вызова в Eclair и Froyo.
  2. Просто подсчет всех доступных спутников, конечно, бесполезен.
  3. Проверка того, что какой-либо из спутников возвращает true для usedInFix (), также не очень полезен. Система явно теряет исправление, но продолжает сообщать, что в ней все еще используется несколько сатов.

Итак, вот единственное рабочее решение, которое я нашел, и тот, который я фактически использую в своем приложении. Скажем, у нас есть этот простой класс, который реализует GpsStatus.Listener:

Private class MyGPSListener implements GpsStatus.Listener { public void onGpsStatusChanged(int event) { switch (event) { case GpsStatus.GPS_EVENT_SATELLITE_STATUS: if (mLastLocation != null) isGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) < 3000; if (isGPSFix) { // A fix has been acquired. // Do something. } else { // The fix has been lost. // Do something. } break; case GpsStatus.GPS_EVENT_FIRST_FIX: // Do something. isGPSFix = true; break; } } }

ОК, теперь в onLocationChanged () мы добавим следующее:

@Override public void onLocationChanged(Location location) { if (location == null) return; mLastLocationMillis = SystemClock.elapsedRealtime(); // Do something. mLastLocation = location; }

Вот и все. В принципе, это линия, которая делает все это:

IsGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) < 3000;

Конечно, вы можете настроить значение миллиса, но я бы предложил установить его около 3-5 секунд.

Это действительно работает, и хотя я не смотрел исходный код, который рисует собственный значок GPS, это приближается к репликации его поведения. Надеюсь, это поможет кому-то.

Если вам просто нужно знать, есть ли исправление, то проверьте последнее известное местоположение, предоставленное GPS-приемником, и проверьте значение.getTime (), чтобы узнать, сколько лет прошло. Если это достаточно недавно (например, несколько секунд), у вас есть исправление.

LocationManager lm = (LocationManager)context.getSystemService(LOCATION_SERVICE); Location loc = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); // Get the time of the last fix long lastFixTimeMillis = loc.getTime();

И, наконец, сравнить это с текущим временем даты (в UTC!). Если это достаточно недавно, у вас есть исправление.

Я делаю это в своем приложении и до сих пор так хорошо.

Ну, в результате каждый рабочий подход приведет к этому (также относится к устаревшему GpsStatus.Listener):

Private GnssStatus.Callback mGnssStatusCallback; @Deprecated private GpsStatus.Listener mStatusListener; private LocationManager mLocationManager; @Override public void onCreate() { mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE); mLocationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); if (checkPermission()) { mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, GPS_UPDATE_INTERVAL, MIN_DISTANCE, this); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { mGnssStatusCallback = new GnssStatus.Callback() { @Override public void onSatelliteStatusChanged(GnssStatus status) { satelliteStatusChanged(); } @Override public void onFirstFix(int ttffMillis) { gpsFixAcquired(); } }; mLocationManager.registerGnssStatusCallback(mGnssStatusCallback); } else { mStatusListener = new GpsStatus.Listener() { @Override public void onGpsStatusChanged(int event) { switch (event) { case GpsStatus.GPS_EVENT_SATELLITE_STATUS: satelliteStatusChanged(); break; case GpsStatus.GPS_EVENT_FIRST_FIX: // Do something. gpsFixAcquired(); break; } } }; mLocationManager.addGpsStatusListener(mStatusListener); } } private void gpsFixAcquired() { // Do something. isGPSFix = true; } private void satelliteStatusChanged() { if (mLastLocation != null) isGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) < (GPS_UPDATE_INTERVAL * 2); if (isGPSFix) { // A fix has been acquired. // Do something. } else { // The fix has been lost. // Do something. } } @Override public void onLocationChanged(Location location) { if (location == null) return; mLastLocationMillis = SystemClock.elapsedRealtime(); mLastLocation = location; } @Override public void onStatusChanged(String s, int i, Bundle bundle) { } @Override public void onProviderEnabled(String s) { } @Override public void onProviderDisabled(String s) { }

Примечание: этот ответ представляет собой комбинацию ответов выше.

Значок GPS, похоже, меняет свое состояние в соответствии с принятыми вещательными намерениями. Вы можете сами изменить свое состояние с помощью следующих примеров кода:

Сообщать, что GPS включен:

Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE"); intent.putExtra("enabled", true); sendBroadcast(intent);

Сообщать, что GPS получает исправления:

Intent intent = new Intent("android.location.GPS_FIX_CHANGE"); intent.putExtra("enabled", true); sendBroadcast(intent);

Сообщите, что GPS больше не получает исправления:

Intent intent = new Intent("android.location.GPS_FIX_CHANGE"); intent.putExtra("enabled", false); sendBroadcast(intent);

Сообщать, что GPS отключен:

Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE"); intent.putExtra("enabled", false); sendBroadcast(intent);

Пример кода для регистрации приемника:

// MyReceiver must extend BroadcastReceiver MyReceiver receiver = new MyReceiver(); IntentFilter filter = new IntentFilter("android.location.GPS_ENABLED_CHANGE"); filter.addAction("android.location.GPS_FIX_CHANGE"); registerReceiver(receiver, filter);

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

Установка интервала времени для проверки исправления не является хорошим выбором. Я заметил, что onLocationChanged не вызывается, если вы не двигаетесь .. что понятно, поскольку местоположение не меняется:)

Лучше всего было бы:

  • проверить интервал на последнее полученное местоположение (в gpsStatusChanged)
  • если этот интервал составляет более 15 с заданной переменной: long_interval = true
  • удалите приемник местоположения и добавьте его снова, обычно после этого вы получаете обновленную позицию, если местоположение действительно доступно, если нет - вы, вероятно, потеряли место
  • в onLocationChanged вы просто установите long_interval на false.

Хотя выше есть огромный пул решений, никто не упоминал com.koushikdutta.ion: https://github.com/koush/ion

Он также асинхронен и очень прост в использовании:

Ion.with(context) .load("http://example.com/thing.json") .asJsonObject() .setCallback(new FutureCallback() { @Override public void onCompleted(Exception e, JsonObject result) { // do stuff with the result or error } });



 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!