服务应该每小时加载一次数据

时间:2012-01-17 10:44:16

标签: android service timer timer-jobs

问题


我正在为我的应用程序创建一个服务,但可能有一些我无法实现的简单的事情。更好,我说我不知道​​该怎么做。

我希望我的服务每小时刷新数据,如果它在早上6点到下午6点之间。如何通过电池效率的简单方式实现这一目标。如果您有一些代码片段或一个很棒的教程,我会非常高兴,因为我真的很想学习它。

最好的问候

狩猎

3 个答案:

答案 0 :(得分:2)

您可以使用AlarmManager启动程序。首先,您需要使用Calender.HOUR_OF_DAY检查当前时间,即当前时间。然后您可以检查当前小时是否在6到18之间。如果条件满足您可以刷新数据,则可以取消警报并再次将其设置为下一个周期。

答案 1 :(得分:1)

根据当前时间(过去6点)创建一个警报,当您触发时会刷新您的数据并在将来设置一个新警报(或13个小时)。有关alram经理的更多信息,请参阅此处:http://developer.android.com/reference/android/app/AlarmManager.html

答案 2 :(得分:0)

你需要一个广播接收器,它将在早上6点开始停止服务,并在下午6点再次启动服务。通过这种方式,您还可以改善电池消耗。