在我的Android应用中,我想安排一项任务在10秒内运行,除非用户按下特定按钮。
做这个的最好方式是什么?我应该使用java.util.Timer
,java.util.concurrent.ScheduledThreadPoolExecutor
还是别的什么?
提前谢谢。
答案 0 :(得分:8)
如果您从任务中访问UI,则处理程序适合此:
Runnable runnable = new Runnable() {
public void run () {
// Do your stuff here
}
}
Handler handler = new Handler();
handler.postDelayed(runnable, 10000);
在您的按钮操作中:
handler.removeCallbacks(runnable);
否则,Timer
没问题。
答案 1 :(得分:2)
和Handler
及其postDelayed
方法
private Runnable requester = new Runnable() {
@Override
public void run() {
// cpde to execute here
}
};
public void onClick(View v) {
new Handler().postDelayed(requester, 10000);
}
答案 2 :(得分:1)
您可以使用TimerTask和Handler。