class MyTimer extends CountDownTimer{

                
private static final String TAG = "HeartBeatTimer";
                
private static final long MILLIS_IN_FUTURE = 4000;
                
private static final long COUNT_DOWN_INTERVAL = 1000;  // MILLIS_IN_FUTURE/2
                public HeartBeatTimer(){
                        
super(MILLIS_IN_FUTURE, COUNT_DOWN_INTERVAL);
                }
                
                @Override
                
public void onFinish() {
                        Log.d(TAG, 
"onFinish");
                }

                @Override
                
public void onTick(long millisUntilFinished) {
                        Log.d(TAG, 
"onTick" + millisUntilFinished);
                }
                
        }
android自己的sdk里面帶了一個CountDownTimer, 可以用倒計時的方式處理一些問題. 
09-19 17:07:30.098: DEBUG/HeartBeatTimer(29362): ON START
09-19 17:07:30.098: DEBUG/HeartBeatTimer(29362): onTick3996
09-19 17:07:31.098: DEBUG/HeartBeatTimer(29362): onTick2995
09-19 17:07:32.098: DEBUG/HeartBeatTimer(29362): onTick1994
09-19 17:07:34.098: DEBUG/HeartBeatTimer(29362): onFinish

我實驗的時候, 出現了一個問題, 百思不得其解: 
在這里例子里我設置定時時長為4s, 間隔時間為1s ;按道理應該每隔1s, 有一個ontick調用, 但最后一次ontick 和onFinish之間的間隔是2s.