обратный отсчет времени для Android не является точным

Я использую таймер обратного отсчета для звукового уведомления ... и он не точен с самого начала ...

используя начальные параметры

private final long startCountDown; 
private final long intervalCountDown;
    ...
    startCountDown = 180 * 1000;   // 3 mns  - to be set from Preferences later
intervalCountDown = 60 * 1000;   // 1 mns - to be set from Preferences later
    ...
    public void onTick(long millisUntilFinished) {
       Log.d(TAG, "notify countDown: " + millisUntilFinished + " msecs");
    }


    countDownTimer = new SwimCountDownTimer(startCountDown,intervalCountDown);
    ....

public void startCountDown() {
    Log.d(TAG, "start countDown for " + startCountDown + " msecs" );
    countDownTimer.start();
}

Я вижу в журнале, что начальный отсчет времени правильно установлен на 180000, но следующий должен быть 120000, и он установлен на 119945 !!!

04-27 14:50:42.146: I/SWIMMER(8670): notify countDown: 180000 msecs
04-27 14:51:42.206: I/SWIMMER(8670): notify countDown: 119945 msecs

Это очень раздражает, так как аудио-уведомитель ожидает сказать только «2 минуты», а не «1 минута пятьдесят девять секунд» ..., почему интервал не правильный ...? Я могу обмануть это, установив себе текст в речевую строку ... но есть ли способ получить правильные данные?

спасибо за предложения

Ответы на вопрос(1)

Ваш ответ на вопрос