Android: устаревший getLastKnownLocation - как вызвать обновление местоположения?

Я использую

myLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

получать текущее местоположение при запуске моего приложения.

Как документация Android указывает, это местоположение может быть "устаревшим", так как метод возвращает местоположение, когда GPS использовался в прошлый раз.

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

Какие-либо идеи?

11
задан znq 13 January 2010 в 11:18
поделиться

1 ответ

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

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

10
ответ дан 3 December 2019 в 10:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: