Я в основном пытаюсь извлечь широту и долготу из другого класса, который выполняется каждые 30 секунд. Извлечение должно производиться быстрее, когда широта, значения долготы приближаются к моей целевой широте, долготе со скоростью 5 секунд, а если расстояние до цели превышает скачок в 100 км, выборка значений должна быть указана со скоростью 5 минут. Я попытался с заданием таймера, но не смог перенести в задание таймера.Android java: Выполняйте функцию повторно с задержкой, динамически установленной на основе некоторых условий.
Если нет заданий таймера, есть ли другой способ добиться того же? Мой код будет выглядеть нечто похожее на нижеуказанным
timer = new Timer();
myTimerTask = new MyTimerTask();
timer.schedule(myTimerTask, 0, 30000);//default delay 30 seconds
class MyTimerTask extends TimerTask {
@Override
public void run() {
latitude = gps.getlatitude();
longitude = gps.getlongitude();
int distance =getdistance(latitude,longitude,target_latitude,target_longitude);
if(distance <50)
//execute timer task with 5 second delay
else if (distance >100)
//execute timer task with 5 minutes delay
}