Android CountDownTimer 没有被取消

Android CountDownTimer is not getting cancel

我已经创建了一个 5 分钟的倒数计时器,但是如果用户在 2 分钟内完成了任务,我想停止计时器。

我正在使用布尔标志来检查天气用户是否完成任务。

如果用户在总时间之前完成了任务,那么我正在调用 cancel()

我的代码

 public void settimer(final TextView time, long milliseconds) {

        new CountDownTimer(milliseconds, 1000) {

            public void onTick(long millisUntilFinished) {
                time.setText(String.format("%d:%d",
                        TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished),
                        TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
                                TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
                AppController.RunningTime = millisUntilFinished;
                if (AppController.Stoptimer)
                    this.cancel();
            }

            public void onFinish() {
                AppController.TimeFinished = true;
            }

        }.start();
    }

cancel() 是倒数计时器方法 mentioned here.

cancel() 正在调用,但倒计时计时器没有停止。

我们将不胜感激。

int adsInterval = 3000;
CountDownTimer mTimer = mTimer = new CountDownTimer(adsInterval, 1000) {
    @Override
    public void onFinish() {
        Log.d("Seconds", adsInterval + " second");
        // YOUR TASK
    }

    @Override
    public void onTick(long l) {
    }

};
mTimer.start();


Timer timer = new Timer();
timer.schedule(new TimerTask() {
    @Override
    public void run() {

    }
}, 3000);

To START Timer

mTimer.start();

To STOP Timer

mTimer.cancel();