Как остановить CountDownTimer?

Рейтинг: 0Ответов: 0Опубликовано: 10.02.2023

Подскажите пожалуйста, как можно экстренно остановить 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;
       }

Ответы

Ответов пока нет.