У меня есть следующий код:LocationManager requestLocationUpdates и TimerTask в андроиде
if (gps_enabled) {
Log.e("$$$$$$$$$$$$$$",
"GPS is enabled requestion location updates... interval value is: "
+ interval);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
locationListenerGps);
}
else{
if (network_enabled) {
Log.e("$$$$$$$$$$$$$$",
"Network is enabled requestion location updates... interval value is: "
+ interval);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0,
0, locationListenerNetwork);
}
}
с этим кодом я могу получить место (! По крайней мере, с помощью сети провайдера (другой вопрос на другую должность)) Я хотел бы получать уведомления в регулярном интервале каждые один час, но передача параметра requestLocationUpdates не гарантирует, что интервал будет поддерживаться (по крайней мере, что мои тесты показали, так как я ожидал обновления каждую минуту, но получил много обновлений вместо один!) , поэтому я подумал об использовании таймераTask и запланировать его, теперь у меня есть
timer1.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
getLocation();
}
}, 0, 180000);// 3 minutesr...
где getLocation является методом, который я назвал ранее назывался, но когда таймер вызывает этот метод, то ничего не происходит, журналы останавливаются на этом этапе
Log.e("$$$$$$$$$$$$$$",
"Network is enabled requestion location updates... interval value is: "
+ interval);
, и я никогда не получить уведомление о моем местоположении. любые идеи?
Кто-нибудь? это действительно странно, и это сводит меня с ума. почему я не могу получить обновления местоположения, когда я вызываю их из timerTask? – maxsap