Я заметил, что приложения как Состояние GPS получают фиксацию довольно быстро. Когда я пытаюсь получить фиксацию в рамках своего собственного приложения, требуется больше времени. Кто-либо знает, почему это происходит? Они используют скрытую часть API, чтобы вынудить GPS соединиться быстрее?
Вот то, что я использую
LocationManager loc = (LocationManager) context
.getSystemService(Context.LOCATION_SERVICE);
loc.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
listener);
Я хочу, чтобы GPS дал результаты, максимально частые, потому что мне нужен он для приложения AR :) Хотя я настройки помещения как 1 000 мс и 1 м для частоты обновления без заметного различия в скорости фиксации.
Это может быть один из нескольких подходов:
LocationManager.getLastKnownLocation
(которое, учитывая количество приложений, использующих данные о местоположении, обычно должно быть «достаточно близким», если не абсолютно точным.) LocationManager.NETWORK_PROVIDER
вместо из LocationManager.GPS_PROVIDER
, чтобы получить немедленное грубое исправление, а затем уточнение с помощью GPS (если доступно). LocationManager.getLastKnownLocation
, но делает это самостоятельно) Вот моя стратегия: проверьте этот ответ на StackOverflow.