Process: com.multak.cookaraclient, PID: 27384 java.lang.RuntimeException: Unable to resume activity {…….MainActivity}: java.lang.IllegalStateException: TimerTask is scheduled already at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3139) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3170) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1420) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:150) at android.app.ActivityThread.main(ActivityThread.java:5621) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684) Caused by: java.lang.IllegalStateException: TimerTask is scheduled already at java.util.Timer.scheduleImpl(Timer.java:569) at java.util.Timer.scheduleAtFixedRate(Timer.java:525) at com.multak.cookaraclient.MainActivity.onResume(MainActivity.java:453) at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1266) at android.app.Activity.performResume(Activity.java:6446) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3129) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3170)? at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1420)? at android.os.Handler.dispatchMessage(Handler.java:102)? at android.os.Looper.loop(Looper.java:150)?
at android.app.ActivityThread.main(ActivityThread.java:5621)? at java.lang.reflect.Method.invoke(Native Method)? at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)? at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)?
@Override protected void onResume() { super.onResume(); if(timerTask==null){ timerTask = new TimerTask() { @Override public void run() { } }; timer.scheduleAtFixedRate(timerTask, 100, 1000); }
// timer.scheduleAtFixedRate(timerTask, 100, 1000);
}
一个TimerTask 通过schedule方法使用之后,不能通过schedule方法被调用第二次,如出现则报错误如上。。
如想利用这个timertask时,只能重新获得一个实例