Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从计时器停止异步任务?_Java_Android - Fatal编程技术网

Java 如何从计时器停止异步任务?

Java 如何从计时器停止异步任务?,java,android,Java,Android,我试图从计时器停止Asynctask,但它没有停止。 下面是我计划timerTask(asynctask) 可以通过调用cancel(布尔值)随时取消异步任务。可以找到更多信息 如果您发布代码以给出更精确的答案,这将非常有用。forTimerTask似乎没有计划方法。您可以使用cancel(true)取消异步任务。 也许你可以换一个或一个新的 使用倒计时: CountDownTimer cdt = new CountDownTimer(5000, 1000) { @Overrid

我试图从计时器停止Asynctask,但它没有停止。 下面是我计划
timerTask(asynctask)


可以通过调用
cancel(布尔值)随时取消异步任务。
可以找到更多信息

如果您发布代码以给出更精确的答案,这将非常有用。

for
TimerTask
似乎没有计划方法。您可以使用
cancel(true)
取消异步任务。 也许你可以换一个或一个新的

使用<代码>倒计时:

CountDownTimer cdt = new CountDownTimer(5000, 1000) {
        @Override
        public void onTick(long l) {}

        @Override
        public void onFinish() {
            cancel();//Cancel CountdownTimer
            cancel(true);// Cancel Asynctask
        }
    };
    cdt.start();
使用
线程

Thread thread = new Thread() {
            @Override
            public void run() {
                super.run();
                try {
                    Thread.sleep(5000);
                    cancel(true);//Cancel Asynctask
                } catch (InterruptedException e) {
                    Thread.currentThread().interrupt();
                }
            }
        };
thread.start();

你有什么错误吗?可能是重复的
Thread thread = new Thread() {
            @Override
            public void run() {
                super.run();
                try {
                    Thread.sleep(5000);
                    cancel(true);//Cancel Asynctask
                } catch (InterruptedException e) {
                    Thread.currentThread().interrupt();
                }
            }
        };
thread.start();