post frustration ....
I just stumbled upon the problem "CountDownTimer - last onTick not called", which many have reported here.
Simple problem demonstration
package com.example.gosh;
import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.util.Log;
public class CountDownTimerSucksActivity extends Activity {
int iDontWantThis = 0;
private static final String TAG = "CountDownTimerSucksActivity";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
new MyCountDownTimer(10000 + iDontWantThis , 1000).start();
}
class MyCountDownTimer extends CountDownTimer {
long startSec;
public MyCountDownTimer(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
startSec = System.currentTimeMillis() ;
}
@Override
public void onFinish() {
Log.e(TAG, " onFinish (" + getSeconds() + ")");
}
@Override
public void onTick(long millisUntilFinished) {
Log.e(TAG, millisUntilFinished + " millisUntilFinished" + " (" + getSeconds() + ")");
}
protected long getSeconds() {
return (((System.currentTimeMillis() - startSec) / 1000) % 60);
}
}
}
Logcat exiting test run ...

As you can see, the last onTick call comes from 1963ms millisUntilFinished, then the next onFinished call after almost 2 seconds. Probably a buggy. I found a lot of posts about this, as yet there is no clean solution. I included one in the source code, if you set the iDontWantThis field to 100, it works.
I do not understand workarounds in small fields, but this seems to be such basic functionality that I cannot understand that it has not yet been fixed. What do you do to have a clean solution for this?
UPDATE:
CountDownTimer Sam, - ms, ms