Более быстрое исправление GPS в Android - PullRequest
7 голосов
/ 13 июля 2010

Я заметил, что такие приложения, как GPS Status, исправляются довольно быстро. Когда я пытаюсь исправить в своем приложении, это занимает больше времени. Кто-нибудь знает, почему это происходит? Используют ли они скрытую часть API для ускорения подключения GPS?

Вот что я использую

LocationManager loc = (LocationManager) context
            .getSystemService(Context.LOCATION_SERVICE);
loc.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
            listener);

Я хочу, чтобы GPS давал результаты как можно чаще, потому что он мне нужен для приложения AR :) Хотя я выставил такие настройки, как 1000 мс и 1 м для частоты обновления без ощутимой разницы в скорости исправления.

Ответы [ 2 ]

5 голосов
/ 13 июля 2010

Может быть один из нескольких подходов:

  • Использование LocationManager.getLastKnownLocation (которое, учитывая, сколько приложений использует данные о местоположении, обычно должно быть «достаточно близко», если не точно).
  • Использование LocationManager.NETWORK_PROVIDER вместо LocationManager.GPS_PROVIDER для немедленного приблизительного исправления, а затем уточнение с помощью GPS (если доступно).
  • Запуск службы в фоновом режиме, которая периодически получает последнюю позицию и кэширует ее (в основном так же, как LocationManager.getLastKnownLocation, но делает это сам)
3 голосов
/ 13 июля 2010

Вот моя стратегия: отметьте этот ответ StackOverflow.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...