【问题标题】:Java/android how to start an AsyncTask after 3 seconds of delay?Java / android如何在延迟3秒后启动AsyncTask?
【发布时间】:2011-05-09 19:26:34
【问题描述】:

如何在延迟 3 秒后启动 AsyncTask?

【问题讨论】:

  • 任务在应用重启后持续存在有多重要?

标签: java android android-asynctask


【解决方案1】:

使用其他答案中建议的处理程序,实际代码是:

new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        new MyAsyncTask().execute();
    }
}, 3000);

【讨论】:

    【解决方案2】:

    您可以为此使用 Handler。为此使用 postDelayed(Runnable, long)。

    Handler#postDelayed(Runnable, Long)

    【讨论】:

      【解决方案3】:

      您可以使用这段代码在延迟 3 秒后运行。

      new Timer().schedule(new TimerTask() {          
          @Override
          public void run() {
      
              // run AsyncTask here.    
      
      
          }
      }, 3000);
      

      【讨论】:

      • 如果应用程序在 1 秒后关闭怎么办?我的意思是应用程序被完全破坏了?这个计时器会在 3 秒后运行吗...我问 bcz 我需要运行 AsyncTask,即使应用程序已关闭....
      • 不,它不会运行。如果您需要在应用重新启动后持续存在,请使用警报。
      【解决方案4】:

      使用 Handler 类,并定义 Runnable handleMyAsyncTask,它将包含在 3000 毫秒延迟后执行的代码:

      mHandler.postDelayed(handleMyAsyncTask, 1000*3);
      

      【讨论】:

        【解决方案5】:

        使用倒计时。

          new CountDownTimer(3000, 1000) {
        
                public void onTick(long millisUntilFinished) {
        
                   //do task which continuously updates
        
                }
        
                public void onFinish() {
        
                   //Do your task
                 
                }
        
            }.start();
        

        3000 是总秒数,1000 是该时间的计时器滴答声,这意味着在上述情况下计时器滴答声 3 次。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-07-08
          • 1970-01-01
          • 2019-02-21
          • 2021-09-25
          • 2017-03-20
          • 1970-01-01
          • 2013-10-22
          相关资源
          最近更新 更多