2011-12-21 63 views
0

假设我的网站每周二,周四和周六都会更新。我不知道这些更新的确切时间,因此我希望每小时进行一次轮询以检查是否有新内容可用。什么是最好的方法来做到这一点?我只能想到两件事:在指定日期重复报警

  • 每隔1小时重复一次警报,检查一天是星期二,星期四还是星期六,如果是,则从服务器进行轮询。
  • 在HOUR_OF_DAY和MINUTE设置为零的情况下为AlarmManager.INTERVAL_DAY设置BOOT_COMPLETED的重复警报。每次警报被触发时,请检查星期二,星期四或星期六。如果为true,则以1小时为间隔设置另一个重复闹钟。

任何其他,可能更优雅的方式?

回答

1

使用接收器完成引导,并且每次都在下午12:00在相关的下一天设置闹钟。
使用日历获取天数。
然后在您开始的服务中,每小时设置一个新的闹钟,直到晚上11:59。下午11:59的闹钟会在下一个适当的日子设置闹钟。

如果时间合适,我会推荐使用具有挂起Intent的BroadcastReceiver来启动服务的警报。

请记住,它可能是好的使用partial_wakelock

+0

当然。我在想太多。 – 2011-12-21 10:52:00

+0

很高兴我能帮到你。 :) – Jakar 2011-12-21 11:24:45