У меня есть следующий код:
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 не гарантирует, что интервал будет поддерживаться (по крайней мере, показывали мои тесты, поскольку я ожидал обновления каждую минуту, но получил много обновления вместо одного!)
так что я подумал об использовании таймера и планировать его, теперь у меня есть
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);
и я никогда не получаю уведомления о моем местонахождении.
Есть идеи?