2014-09-20 124 views
1

我有一個Android服務在後臺運行。 我想的時間(22秒),一定時間後得到通知,所以我寫了:CountDownTimer不準確

private CountDownTimer mCountDownTimer = new CountDownTimer(22*1000,22*1000) { 

    public void onTick(long millisUntilFinished) {} 

    public void onFinish() { 
     doSomething(); 
    } 
}; 

我運行它,並在40秒後得到通知,甚至50秒。難道我做錯了什麼?如何才能做到這一點?

+0

您是否嘗試過與(第二)輸入(S)玩耍? 也許這有助於:http://developer.android.com/reference/android/os/CountDownTimer.html 你在哪裏開始倒計時? – JRsz 2014-09-20 11:05:41

+0

不要將countDownInterval設置爲與millisInFuture相同。將其設置爲1000毫秒 – 2014-09-20 11:35:16

回答

0

其實你是間隔時間爲wll 22000,這是你做錯了什麼。第二個參數是interval.So,這樣做:

CountDownTimer alertTimer =新CountDownTimer(22 * 1000,1000){

 @Override 
     public void onTick(long millisUntilFinished) { 

      // Do here what you want 


     } 

     @Override 
     public void onFinish() { 

     } 
    }.start(); 
+0

我沒有看到任何間隔等於倒數超時的問題,但我會嘗試。 – DuduArbel 2014-09-20 14:39:00

+0

在該間隔時間之後它會減少或增加多少間隔,即如果您放置2000毫秒,則每次定時器將在2秒後遞增1,這將會明確 – 2014-09-22 04:57:38