如何在Android中取消AsyncTask的timerTask

用户名

嗨,我正在使用TCP套接字。我可以每1秒钟读取一次数据。为了实现它,我使用了TimerTask,如下面的代码所示。

Handler handler = new Handler();
Timer timer = new Timer();

TimerTask doAsynchronousTask = new TimerTask() {

        @Override
        public void run() {
            finalizer = new Runnable() {
                public void run() {
                    try {
                        if (navBool) {
                            runOnUiThread(new Runnable() {
                                public void run() {
                                    new RetriveStock().execute(); // AsyncTask.
                                }
                            });

                        }
                    } catch (Exception e) {
                    }
                }
            };
            handler.post(finalizer);
        }
    }; 
timer.schedule(doAsynchronousTask, 0, 1000);

为了取消此计时器,我将代码用作

timer.cancel();
timer = null;
handler.removeCallbacks(finalizer);

但这不是取消计时器。我不知道为什么。

本·西弗

timer.cancel()您应该取消分配给该计时器的任务(doAsynchronousTask对于您的情况)而不是调用由于可以将多个TimerTasks分配给一个计时器,因此调用timer.cancel()不会干扰当前正在运行的任务。

Timer JavaDoc中

public void cancel()

终止此计时器,放弃任何当前计划的任务。不干扰当前正在执行的任务(如果存在)。计时器终止后,其执行线程将正常终止,并且无法在其上安排更多任务。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Android中正确处理AsyncTask取消?

来自分类Dev

如何在 Android 中管理多个 AsyncTask

来自分类Dev

如何在Android中取消吐司?

来自分类Dev

如何在TimerTask中管理休眠事务?

来自分类Dev

如何在Android中的AsyncTask中实现Internet Check?

来自分类Dev

如何在Android中的Asynctask中显示JSON响应

来自分类Dev

如何在Android的AsyncTask中改编此代码?

来自分类Dev

如何在Android中的AsyncTask中保存变量

来自分类Dev

如何在Android Studio(例如Eclipse)中取消引号

来自分类Dev

如何在Android中设置可取消的超时

来自分类Dev

如何在Android中隐藏取消隐藏的WebView

来自分类Dev

如何在 PhoneGap android 应用中取消显示订阅广告

来自分类Dev

Timer和TimerTask-如何在TimerTask运行中重新安排计时器

来自分类Dev

Android-无法取消AsyncTask

来自分类Dev

如何使用蛮力取消AsyncTask

来自分类Dev

如何在Android上取消按键操作

来自分类Dev

在Android中每两分钟使用BroadcastReceiver,TimerTask和AsyncTask发送电子邮件的最佳方法

来自分类Dev

如何在Asynctask中获得sharedpreferences?

来自分类Dev

如何在Fragment中执行AsyncTask

来自分类Dev

如何在AsyncTask中运行ProgressDialog

来自分类Dev

如何在AsyncTask中设置doInBackground的参数?

来自分类Dev

如何在我的代码中实现AsyncTask?

来自分类Dev

如何在AsyncTask中显示吐司

来自分类Dev

如何在AsyncTask中从html加载图像

来自分类Dev

如何在asynctask中制作方法

来自分类Dev

如何在 AsyncTask 中调用片段?

来自分类常见问题

如何在Angular 2中取消HTTPRequest?

来自分类Dev

如何在.AutoFilter中取消选择(空白)?

来自分类Dev

如何在fastcgi中取消Django缓存

Related 相关文章

热门标签

归档