12

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

即使我重新启动手机,是否还有任何其他 android 类/服务可以持续更新我的应用程序?

谢谢,

4

3 回答 3

4

看看android sdk提供的demo应用

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

触发警报后,查看 AlarmService_Service 以执行服务

于 2010-09-12T19:26:29.073 回答
2

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

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

希望这会有所帮助。

于 2010-09-12T19:28:36.510 回答
2

只是为了完整起见,我在此处链接官方文档,其中解决了重新启动的问题。

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

于 2014-06-13T12:32:30.667 回答