我希望我的应用程序在启动应用程序时在onCreate中执行任务。但是,在一个随机的时间间隔内。我希望它能在1-60秒内随时挑选。
目前我正在使用CountDownTimer
new CountDownTimer(20000, 10000) {
//currently time delay is 2000 milliseconds
@Override
public void onFinish() {
// TODO Auto-generated method stub
runOnUiThread(new Runnable() {
@Override
public void run() {
// do your task here
Toast.makeText(getBaseContext(), "x", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onTick(long millisUntilFinished) {
}
}.start();
但这是预先定义的,而不是随机的。我该怎么做?
答案 0 :(得分:0)
怎么样:
Handler handler = new Handler();
int delay = (int) (Math.random() * 59) + 1;
handler. postDelayed(myTask, delay * 1000);
这里的任何内容都应该有效,只需用随机的替换延迟:How to call a method after a delay in Android