在Service中重启TimerTask的最佳方法

时间:2011-08-05 16:19:28

标签: android service restart timertask

当我在配置活动中更改刷新时间时,我想在我的服务中重新启动TimerTask。

config Activity更改公共静态长UPDATE_INTERVAL

你有什么想法吗?

public void onStart(Intent intent, int startId) {

    // init the service here
    try {
        if (prefs.getString("oauth_token_secret", null) != null) {
            _startService();
        }
        } catch (Exception e) {
            Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
        }

}

private void _startService() {

    timer.scheduleAtFixedRate(
         new TimerTask() {
        public void run() {

            //doing things

        }
         }, 0, UPDATE_INTERVAL);

}

到目前为止,谢谢。 斯蒂芬

1 个答案:

答案 0 :(得分:0)

不确定您的意思“配置活动更改公共静态长UPDATE_INTERVAL”,但您可以更新运行代码中的间隔时间,它将在下次运行TimerTask时生效。或者如果您的Activity位于单独的类中,您可以为UPDATE_INTERVAL创建一个setter,并且当在Activity中触发一个动作时,您可以设置这样的时间间隔。

相关问题