Как остановить CountDownTimer?
Подскажите пожалуйста, как можно экстренно остановить CountDownTimer с Thread.sleep нажатием на Button? timer проинициализировал на уровне всей активности (не знаю, правильно ли поясняю). Thread.sleep(10000); должен быть обязательно, так нужно без вариантов! В методе public void Button (нажатие на кнопку) я указываю и timer.cancel(); и делаю флаг для срабатывания timer.cancel в CountDownTimer, но телефон не реагирует. Может нужно прерывать не СountDownTimer, а Thread.sleep, но как?
timer = new CountDownTimer(100000, 10) {
@Override
public void onTick(long millisUntilFinished) {
if (prepareVideoRecorder()) {mediaRecorder.start();}
else {releaseMediaRecorder();}
try {Thread.sleep(10000);
} catch (InterruptedException e) {}
//тело программы
if (fv==0) {timer.cancel();}
}
@Override
public void onFinish() {Finish();}
}.start();
public void Button (View view) {
timer.cancel();
fv=0;
}
Источник: Stack Overflow на русском