除非用户按下按钮,否则10秒后运行任务

时间:2013-05-21 15:25:53

标签: java android timer scheduled-tasks

在我的Android应用中,我想安排一项任务在10秒内运行,除非用户按下特定按钮。 做这个的最好方式是什么?我应该使用java.util.Timerjava.util.concurrent.ScheduledThreadPoolExecutor还是别的什么?

提前谢谢。

3 个答案:

答案 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。