Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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
Android 如何处理处理处理程序再次进入同一活动?_Android_Multithreading_Timer_Handler_Countdowntimer - Fatal编程技术网

Android 如何处理处理处理程序再次进入同一活动?

Android 如何处理处理处理程序再次进入同一活动?,android,multithreading,timer,handler,countdowntimer,Android,Multithreading,Timer,Handler,Countdowntimer,我创建了一个处理程序,用于在启动应用程序时在后台调用AsyncTask。当我重新进入应用程序时,它会在第一个和当前应用程序中调用两次。如何处理 final Handler handler = new Handler(); Timer timer = new Timer(); TimerTask doAsynchronousTask = new TimerTask() { @Override public void run() {

我创建了一个处理程序,用于在启动应用程序时在后台调用AsyncTask。当我重新进入应用程序时,它会在第一个和当前应用程序中调用两次。如何处理

    final Handler handler = new Handler();
    Timer timer = new Timer();
    TimerTask doAsynchronousTask = new TimerTask() {
        @Override
        public void run() {
            handler.post(new Runnable() {
                public void run() {
                    try {
                        checkandsave();
                    } catch (Exception e) {
                        // TODO Auto-generated catch block
                    }
                }
            });
        }
    };
    timer.schedule(doAsynchronousTask, 0, 300000); //execute in every 60000 ms = 1 minute

启动新功能前取消旧功能如何知道它正在运行以及如何停止它在字段中存储您的
TimerTask
,并在创建新功能前取消它。或者在退出应用程序时取消它