6

我有两个 AsyncTasks 做网络操作。我想定期给他们打电话(比如一分钟后)。我怎么做?我不认为我可以在 UI 线程上做到这一点。我需要创建一个新线程吗?没有 AlarmManager/Service 是否可以实现这一点?

基本上我想在一分钟后定期执行这两个语句。

new UploadAsyncTask().execute();
new DownloadAsyncTask().execute();

谢谢

4

1 回答 1

19

只需使用计时器。

final Handler handler = new Handler();
Timer timer = new Timer();
TimerTask task = new TimerTask() {       
     @Override
     public void run() {
       handler.post(new Runnable() {
          public void run() {  
             new UploadAsyncTask().execute();
             new DownloadAsyncTask().execute();
          }
        });
      }
};
timer.schedule(task, 0, 1000); //it executes this every 1000ms
于 2013-06-10T20:15:39.993 回答