如何控制Android服务?

时间:2011-03-04 22:29:03

标签: android service timer timertask

我正在开发我的第一个Android应用程序。 我希望我的应用程序的用户能够激活“自动更新数据”,这意味着每x分钟应刷新一些数据。我创建了一个由

启动的服务
service = new Intent(context, MyService.class);
context.startService(service);

我在服务中使用TimerTask定期刷新数据。

timer = new Timer();

TimerTask tt = new TimerTask() {
    public void run() {
        refreshData();
    }
};
timer.scheduleAtFixedRate(tt,0,interval);

我注意到服务可以不时重启。我怎样才能确保refreshData();每隔一分钟(不多或少)运行?如果用户更改间隔(首选项),如何终止当前计时器(任务)并启动新计时器?现在它似乎开始一个新的,但没有杀死旧的使refreshData()按两个间隔执行。

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

(我是Android新手也是开发人员,所以我带着一点点的意思去采取行动)

好吧,我觉得你对结构有很多想法。有不同的方式与服务进行通信。我认为最好的选择是广播一个意图,使服务接收意图,并根据从意图收到的信息更改间隔。