无法在android中的服务中启动计时器

我不知道发生了什么事……我无法在我的服务中启动计时器。 遵循代码

public class BkgService extends Service{ private Timer ServUpdTimer = new Timer(); private static long TMR_INTERVAL = 10*60*1000; public void onCreate() { super.onCreate(); StartServUpdateTask(); } private void StartServUpdateTask() { if(ServUpdTimer != null) ServUpdTimer.cancel(); ServUpdTimer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { } }, 0, TMR_INTERVAL); } } 

但当我到达ServUpdTimer.scheduleAtFixedRate()我得到以下exception

03-03 23:32:14.851:E / AndroidRuntime(6083):java.lang.RuntimeException:无法使用Intent {cmp = mt.android.app / .BkgService}启动服务mt.android.app.BkgService@40544838: java.lang.IllegalStateException:计时器已取消

如果有人可以对此有所了解,我将非常感激…

从Javadoc for Timer.cancel()

一旦计时器终止,其执行线程将正常终止,并且不再可以在其上安排任何任务。

从Javadoc for Timer.scheduleAtFixedRate()

抛出:IllegalStateException – 如果已安排或取消任务,则取消计时器或终止计时器线程。

Timer立即被取消:您需要创建一个新实例:

 private void StartServUpdateTask() { if(ServUpdTimer != null) { ServUpdTimer.cancel(); } ServUpdTimer = new Timer(); ... }