2013-03-15 82 views
0

我想知道,我們可以創建一個定時器來處理不同持續時間的兩個不同的背景調用嗎?我有一個代碼,在30秒內更新我的應用程序中的本地時間。我想要的是,不創建任何其他計時器,但在同一個計時器,60秒後調用一個不同的功能。這裏是我的代碼Android擴展定時器

   timer = new Timer(); 
       timer.schedule(new RemindTask(), 10000,30000); 

     class RemindTask extends TimerTask 
     { 
      public void run() 
        { 

         runOnUiThread(new Runnable() 
         { 
          public void run() 
          { 
           printMessage();// Current time 
          } 
         }); 
        } 
     } 
+0

簡單的答案是否定的,因爲你已經設置它的時間,如果你改變它,它會作爲新的更改間隔 – Raynold 2013-03-15 07:09:07

+0

@Raynold所以我必須創建一個新的計時器?在內存和電池消耗方面創建新的定時器會有多少效率?謝謝 – CodeAddiction 2013-03-15 07:11:33

+0

@CodeAddiction:你在當前邏輯中面臨什麼問題 – 2013-03-15 07:13:03

回答

0

一種解決方案可以是:

class RemindTask extends TimerTask 
    { 
     public void run() 
       { 

        runOnUiThread(new Runnable() 
        { 
         public void run() 
         { 
          count++; 
          if(count%120 == 0) 
           weatherApiCall(); 

          printMessage();// Current time 
         } 
        }); 
       } 
    } 

其中count是一個變量,它可以讓你知道的TimerTask多少次拼命地跑,並打電話給weatherApiCall一個小時。

+0

太棒了!肯定會在幾個小時內嘗試:) – CodeAddiction 2013-03-15 07:30:01

+0

工作完美! – CodeAddiction 2013-03-15 13:08:10