为了账号安全,请及时绑定邮箱和手机立即绑定

如何在固定的时间间隔后重复执行异步任务

如何在固定的时间间隔后重复执行异步任务

元芳怎么了 2019-08-12 11:05:40
如何在固定的时间间隔后重复执行异步任务如何在一段时间间隔之后重复执行异步任务,就像Timer一样...实际上我正在开发一个应用程序,它会自动从服务器下载所有最新的未读问候语,为此我必须在修复后检查服务器的更新时间间隔....我知道可以通过计时器轻松完成,但我想使用异步任务,我认为对Android应用程序更有效。
查看完整描述

3 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

//Every 10000 ms   
       private void doSomethingRepeatedly() {
      Timer timer = new Timer();
      timer.scheduleAtFixedRate( new TimerTask() {
            public void run() {

                  try{

                     new SendToServer().execute(); 

                  }
                  catch (Exception e) {
                      // TODO: handle exception
                  }

             }
            }, 0, 10000);
                     }


查看完整回答
反对 回复 2019-08-12
?
繁花如伊

TA贡献2012条经验 获得超12个赞

你可以只是一个处理程序:

private int m_interval = 5000; // 5 seconds by default, can be changed laterprivate Handle m_handler;@Overrideprotected void onCreate(Bundle bundle){
  ...
  m_handler = new Handler();}Runnable m_statusChecker = new Runnable(){
     @Override 
     public void run() {
          updateStatus(); //this function can change value of m_interval.
          m_handler.postDelayed(m_statusChecker, m_interval);
     }}void startRepeatingTask(){
    m_statusChecker.run(); }void stopRepeatingTask(){
    m_handler.removeCallback(m_statusChecker);}

但我建议您检查一下这个框架:http//code.google.com/intl/de-DE/android/c2dm/是一种不同的方法:服务器会在准备就绪时通知手机(因此,节省一些带宽和性能:))


查看完整回答
反对 回复 2019-08-12
  • 3 回答
  • 0 关注
  • 573 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信