2012-05-07 4 views
1
locationmanager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationlistener); 

Я понимаю, что эта строка кода должна обновлять местоположение устройства как можно чаще? В частности, каждый 0miliseconds и 0metres (минимум).Андроид запросМобилизацияОбновление минимальное + минимальное расстояние действительно не работает

Хорошо, слово «минимум» является ключевым здесь, но все же, почему иногда местоположение не обновляется, возможно, до 30 секунд? Я установил время фактического времени между одним обновлением и другим, в то время как на WiFi, и это заняло 38 секунд, хотя у меня было 0 и 0 в коде. Я даже пробовал его с 1000 мс (1 секунда), но до сих пор не обновляется так часто.

Как сделать это обновление более часто? Почему это так реагирует?

Спасибо!

ответ

2

Короткий ответ: вы не можете (уточните его чаще).

Документация указывает, что вы получите «обновления как можно чаще», если вы укажете min_distance и min_time как ноль. Так что вы видите «как можно чаще». Обычно вы не получаете обновления, если что-то не изменилось, поэтому, если вы не двигаетесь, вы не обязательно получите обновление. Кроме того, поскольку вы используете местоположение сети, а не GPS, точность местоположений не так хороша, поэтому вы не должны часто ожидать обновлений.

Кроме того, каждый поставщик оборудования реализует поставщиков местоположения по-разному. Таким образом, частота обновлений определяется реализацией аппаратного поставщика.

+0

То, что вы только что сказали, просто подтверждает то, что я боялся, было правдой :) Что касается GPS, было бы хорошо отправить 2 запросаLocationUpdates тому же слушателю? Один использует GPS_PROVIDER и другие, используя NETWORK_PROVIDER. Нравится lm.requestLocationUpdates (LocationManager.GPS_PROVIDER, 0, 0, ll); lm.requestLocationUpdates (LocationManager.NETWORK_PROVIDER, 0, 0, ll); – bubbly

+0

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

+0

Не только слейте аккумулятор, но и разогрейте телефон :). – Siddharth