我不知道发生了什么问题...我无法在我的服务中启动计时器。按照代码

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() 行时,我收到以下异常



如果有人能对此有所了解,我将不胜感激......

最佳答案

来自 Timer.cancel() 的 Javadoc:



来自 Timer.scheduleAtFixedRate() 的 Javadoc:


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

private void StartServUpdateTask() {

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

    ...
}

关于java - 无法在android中的服务中启动计时器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9547267/

10-09 17:27