我必须在可变时间调用一些 web 服务方法,每次方法运行它都会返回我下一个周期时间。我用计时器尝试过,但第一次调用后,它无法理解新的变量时间。这是昨天问的链接:定时器时间不作为变量改变?
这是示例代码:
private int V_Time = 1;
.
.
.
try {
final Timer V_Timer;
final Handler V_Handler;
V_Timer = new Timer();
V_Handler = new Handler(Looper.getMainLooper());
V_Timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
V_Handler.post(new Runnable() {
public void run() {
webservice_method();
V_Time = 2; // it returns from method, not manually right as shown
//and it can be change every time method calls..
}
});
}
}, 0, V_Time * 1000 * 60);
} catch (Exception hata) {
}
它在 1 分钟后第一次工作,但其他人不会改变(例如 2 分钟),它每 1 分钟工作一次。
我希望它正常工作,有定时器或没有定时器和其他任何东西......我想我可以取消定时器,但我想我无法恢复或重新启动它。一定是要做我想做的事,但我不知道怎么做?
我想更改周期时间,每个计时器任务运行从方法返回的内容。