TimerTask没有立即停止android

时间:2015-01-06 07:59:41

标签: android timer android-service timertask

我有两个根据条件定期运行的服务。在一次条件下,服务以5秒计时器运行,而在另一个条件下,它们以10分钟计时器运行。

但是当我想从5秒切换到10分钟计时器时,它不会立即发生,而是额外运行4次。我正在取消计时器,但似乎没有工作......有代码

 public final static Handler serviceHandler = new Handler(){

        public void handleMessage(Message msg){
            if(null != serviceTimer) {
                Log.d(TAG, "Coming insisisi");
                serviceTimer.cancel();
                serviceTimer.purge();
                serviceTimer = null;

            }
            serviceTimer = new Timer();
                serviceTimer.scheduleAtFixedRate(new serviceMonitorAcc(service, target), DELAY_TIMER_TIME, TIMER_START_TIME);
                serviceTimer.scheduleAtFixedRate(new serviceMonitorTrafficStats(service, target), DELAY_TIMER_TIME, TIMER_START_TIME);

            Log.d(TAG, "TIMER STATTAA"+serviceTimer);
        }
    };

根据条件我设置变量DELAY_TIMER_TIME和TIMER_START_TIME的值

 private void setTimerInfo(String check){
    if(check != null) {
        if (check.equals("enable")) {

            DELAY_TIMER_TIME = 0;
            TIMER_START_TIME = 5000;
        } else {

            DELAY_TIMER_TIME = 60000;
            TIMER_START_TIME = 600000;
        }
    }
}

时间设置工作时间唯一问题是它没有被杀死instanlty并启动新的serviceTimer与新的计时器设置。

我还尝试分别杀死timertask serviceMonitorAcc和serviceMonitorTrafficStats,但是没有工作...任何建议或指针......

0 个答案:

没有答案
相关问题