обратный отсчет времени для 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 минута пятьдесят девять секунд» ..., почему интервал не правильный ...? Я могу обмануть это, установив себе текст в речевую строку ... но есть ли способ получить правильные данные?
спасибо за предложения