Общее поведение Android GPS

1

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

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

Итак, как Android получает начальную блокировку GPS, и может ли она поддерживать эту блокировку, даже если приложение получает только обновления позиций на пару минут? Обычно приложение испытывает большой временной лаг перед уведомлением первой позиции?

Теги:

4 ответа

0
Лучший ответ

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

Вы получаете обновления GPS в своем приложении, только если вы явно запрашиваете их. Частота обновлений зависит от параметров, с которыми вы инициализируете LocationListener. Если вы сохранили GPS и затем запустили приложение, процесс будет быстрее.

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

0

Я не знаю, является ли это независимым от устройства, которое вы используете, но Android должен вести себя так:

Если GPS включен, это не означает, что он действительно используется. Включено только означает, что он может использоваться приложением или что-то еще. Итак, ваше предположение верно, для получения сигнала требуется некоторое время. Однако на моем устройстве (HTC Desire) это делается очень быстро. Но иногда я также замечал, что это заняло 2-3 минуты. Но я думаю, что это зависит от устройства, погодных условий, окружающей среды (например, возле большого здания) и, наконец, не в последнюю очередь космическое излучение.

Лучшим решением, я думаю, является использование GPSStatusListener, чтобы проверить, сколько сателлитов вы подключены и проверить первое исправление.

0

Мой опыт работы с телефоном, который я разрабатывал, заключается в том, что первоначальное исправление занимает немного времени, если ранее функция GPS была отключена. Однако, как только он найдет исправление, он довольно часто запускает событие onlocationchange.

  • 0
    Точно, вы должны делать что-то еще в вашем приложении, чтобы пользователь не ждал вашего GPS-блокировки
  • 0
    В качестве дополнения к комментарию apesa хорошо показать сообщение «search for fix». Мое приложение работает как служба, поэтому им не нужно это видеть;)
0

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

Что касается GPS-обновления вашего приложения. Читайте о LocationManager.requestLocationUpdates. Вы будете контролировать, как и когда вы обновляете свое местоположение и как вы используете службы геолокации. GPS ведет себя так же, как и любой другой, просто помните, что аккумулятор и время, чтобы найти в Android, являются основными проблемами. Вам нужно, чтобы ваше приложение быстро реагировало, и использование GPS может быть медленным с точки зрения блокировки и обновления.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню