如何安排我的Android应用程序每小时做一些事情

时间:2010-09-12 18:47:31

标签: java android schedule alarm alarmmanager

我希望我的应用每小时访问一次数据库,然后从表中读取下一条记录,然后更新desctop小部件并发送通知。我知道我可以使用AlarmManager来注册我的Intents,但是当手机关闭或重启时它们会被删除。

是否还有其他Android类/服务,即使我重新启动手机,我也会不断更新我的应用程序?

谢谢,

3 个答案:

答案 0 :(得分:4)

看一下android sdk提供的演示应用程序

http://developer.android.com/samples/RepeatingAlarm/index.html

在触发警报后,查看AlarmService_Service以实现服务

答案 1 :(得分:1)

将您要在应用中执行的所有后台任务放在Services中,以便在后台执行任务。在服务中,您应该能够定义一个计时器,该计时器会导致每x小时发生一次更新。

在小部件的onCreate()中,启动该服务。每当小部件生效时(例如当手机在主屏幕上启动时)都会调用onCreate(),因此可以保证Service始终在运行。

希望这有用。

答案 2 :(得分:1)

为了完整起见,我在这里链接官方文档,其中重新启动的问题得到解决。

http://developer.android.com/training/scheduling/alarms.html#boot