我希望我的应用每小时访问一次数据库,然后从表中读取下一条记录,然后更新desctop小部件并发送通知。我知道我可以使用AlarmManager来注册我的Intents,但是当手机关闭或重启时它们会被删除。
是否还有其他Android类/服务,即使我重新启动手机,我也会不断更新我的应用程序?
谢谢,
答案 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