LocationManager locationManager = (LocationManager)getApp().getSystemService(Context.LOCATION_SERVICE); //getApp() returns my Application object
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER , 1, 1, this);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1, 1, this);
Это код, который я использую для прослушивания. С включенным GPS все работает нормально. Однако, если я отключу GPS и полагаюсь на сетевое расположение, он дает мне устаревшие результаты - в этом случае, с двух дней назад. Я не могу его обновить. Вызов getLastKnownLocation возвращает те же устаревшие результаты.
Обновления Google Maps просто прекрасны, поэтому я знаю, что это не проблема конфигурации оборудования/системы.
У меня Googled вокруг, и нашел несколько людей с аналогичными проблемами, но нет ответов. Я попытался настроить свой проект на уровень API 8 (2.2), а также 15 (4.0.3). Те же результаты. В моем телефоне работает ICS.
Я также попытался удалить запрос для GPS_PROVIDER, а также включить все запросы в getAllProviders(). Та же сделка.
Любая идея, почему NETWORK_PROVIDER не обновляется? Любая помощь будет принята с благодарностью.
(P.S. Нет, я обычно не использую "1, 1" в качестве параметров времени/расстояния, я просто изменил его при отладке.)
EDIT: Я забыл упомянуть, что yes, isProviderEnabled() возвращает true.