0

我目前正在开发我的第一个 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() 根据两个间隔执行。

任何帮助表示赞赏!

4

1 回答 1

0

(我也是android开发的新手,所以对我所说的一切持保留态度)

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

于 2011-03-04T22:46:22.870 回答