Чтобы запустить таймер на n секунд, вы можете использовать CountDownTimer
Объявите два глобальных вариабеля. Один на количество раз, которое вы хотите повторить. и один, чтобы вести подсчет повторений.
private int NUM_REPEAT = 4;
private int REPEAT_COUNT = 0;
Тогда вызывайте этот метод, куда хотите. Стоит отметить, что если вы хотите запустить этот цикл 5 раз, вам нужно указать количество повторений 4. Для того, чтобы выполнить эту функцию, вы должны вызывать ее, чтобы она не учитывалась.
private void startTimer() {
new CountDownTimer(3000, 1000) {
int secondsLeft = 0;
public void onTick(long ms) {
if (Math.round((float) ms / 1000.0f) != secondsLeft) {
secondsLeft = Math.round((float) ms / 1000.0f);
// resend_timer is a textview
resend_timer.setText("remaining time is "+secondsLeft);
;
}
}
public void onFinish() {
Log.d(TAG, "timer finished "+REPEAT_COUNT);
if (REPEAT_COUNT <= NUM_REPEAT) {
startTimer();
REPEAT_COUNT++;
}
}
}.start();
}