如何以随机时间间隔执行任务?

时间:2017-05-15 00:44:53

标签: android

我希望我的应用程序在启动应用程序时在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();

但这是预先定义的,而不是随机的。我该怎么做?

1 个答案:

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