java.lang.IllegalStateException: TimerTask is scheduled already问题分析

原创 2016年05月31日 16:42:12

今天想用一个timer去定时的机制,所以先添加了一个TimerTask

	TimerTask task = new TimerTask(){
		public void run() {
			Log.d("auth","timer on schedule");
			mCb.OnCallback("TIMEOUT", mRes);
			timer.cancel();
		}
	};

然后在需要调用的地方使用

		timer = new Timer();
		timer.schedule(task,delay);
设定相对应的timer和delay时间的长短。然后发现一个问题就是在第二次调用timer.schedule(task,delay);的时候就会报java.lang.IllegalStateException: TimerTask is scheduled already的错误,然后系统崩溃,退出。

在网络上查找了一些相关内容,得出一个结论,TimerTask是一次性的,用完了就得扔,要用的话需要重新new一个新的TimerTask出来,遂改成:

	class RequestTimerTask extends TimerTask {
		public void run() {
			Log.d(TAG,"timer on schedule");
			timer.cancel();

		}
      	}

然后再去定义个Timer,在每次需要定时的地方使用

	timer = new Timer();
	timer.schedule(new RequestTimerTask(),8000);

这样就正常了。
版权声明:本文为博主原创文章,未经博主允许不得转载。

Jni 报错 “JNI WARNING: threadid=1 using JNI after critical get ...”

Jni 报错 “JNI WARNING: threadid=1 using JNI after critical get ...”的解决方法
  • tntno1
  • tntno1
  • 2011年03月04日 11:15
  • 2481

android TimerTask 的简单应用,以及java.lang.IllegalStateException: TimerTask is scheduled already错误的解决方法

android应用开发中常常会用到定时器,不可避免的需要用到 TimerTask 定时器任务这个类 下面简单的一个示例演示了如何使用TimerTask 这个示例演示了3秒未有触屏事件发生则锁屏...
  • encienqi
  • encienqi
  • 2012年08月11日 20:16
  • 40249

JBoss6部署报 java.lang.IllegalStateException service=EJB3 is already installed 解决办法

12:49:24,540 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing t...

Str问题java.lang.IllegalStateException: getOutputStream() has already been called for this response的解决

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, ...

java.lang.IllegalStateException The specified child already has a parent. You must call removeView()

在android开发过程中,有时会在不同情况下遇到同种问题: [java] view plaincopyprint? java.lang.IllegalStateExcepti...

java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the A

      全部的错误信息是这样的Exception in thread "main" java.lang.IllegalStateException: BeanFactory not initial...
  • wkcgy
  • wkcgy
  • 2011年02月23日 15:37
  • 14372

关于 java.lang.IllegalStateException: Fragment already added 解决方式

前言 最近发现项目中出现这个bug,很频繁。网上查找了几种解决方案,效果不是太理想,现就将使用修改方案一一列出来背景 项目底部四个tab页面切换导致,tab切换方案是,将四个Fragment添加到...

java.lang.IllegalStateException: getOutputStream() has already been called

tomcat正常启动。 但是一出来有验证码的页面,后台就会报错: 信息: Server startup in 13157 ms 2008-01-09 21:35:40,390 ERROR [or...

对异常 java.lang.IllegalStateException: getAttribute: Session already invalidated的理解 .

最近项目日志中总是抛出异常                                   java.lang.IllegalStateException: getAttribute: Sessi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java.lang.IllegalStateException: TimerTask is scheduled already问题分析
举报原因:
原因补充:

(最多只允许输入30个字)