我试图从计时器停止Asynctask,但它没有停止。
这是我安排timerTask(asynctask)
public void CreateTimer(){
timer =new Timer();
timerTask = new MyTimertask();
timer.schedule(timerTask,5000,2000);
}
答案 0 :(得分:0)
TimerTask
的{{3}}似乎没有日程安排方法。您可以使用cancel(true)
取消AsyncTask。
也许您可以使用documentation或新的CountdownTimer?
使用CountdownTimer
:
CountDownTimer cdt = new CountDownTimer(5000, 1000) {
@Override
public void onTick(long l) {}
@Override
public void onFinish() {
cancel();//Cancel CountdownTimer
cancel(true);// Cancel Asynctask
}
};
cdt.start();
使用Thread
:
Thread thread = new Thread() {
@Override
public void run() {
super.run();
try {
Thread.sleep(5000);
cancel(true);//Cancel Asynctask
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
};
thread.start();
答案 1 :(得分:-1)
可以随时通过调用cancel(boolean).
取消异步任务。可以找到更多信息here。
如果您发布代码以提供更准确的答案,将会很有帮助。