【问题标题】:Android How to create a recurring task that will happen every friday?Android 如何创建一个每周五都会发生的重复任务?
【发布时间】:2013-08-29 02:48:41
【问题描述】:

我的问题是我希望应用程序每周从我的数据库中下载一些信息。这就像每周一次的新促销活动,每周五都会在数据库中更新。

我知道如何使用日历查看星期几。

但我不知道如何知道下一个星期五是什么时候。

是否有可能,或者我应该从安装应用程序之日起每周检查一次?

【问题讨论】:

标签: android calendar recurring recurring-events


【解决方案1】:

将您上次更新的时间戳存储在SharedPreferences 中。将AlarmManagerINTERVAL_DAY 一起使用。当它唤醒您的应用时,请检查是否是星期五,或者自上次更新以来是否已超过 156 小时。如果是,请运行更新。

或者,在启动时检查上次更新时间,如果距离上次更新超过 x 天,则更新。

【讨论】:

  • 这并不像你想象的那么简单......每次启动后所有警报都会被撕掉......这就是为什么他应该使用 cwac-wakeful :)......检查:AlarmManager: Making the Services Run On Time in @987654324 @
  • BOOT_COMPLETED 上设置闹钟是很常见的。 cwac-wakeful 非常适合它的设计用途,但它对于每周更新来说太过分了。对于那些人来说,确切的时间不是必需的,不精确的重复警报将非常适合。事实上,cwac-wakeful 甚至可能对电池产生负面影响。
  • 我宁愿不唤醒设备,而只检查应用程序何时打开,它会检查它是否已经过了它记录的最后一个星期五。
  • 如果您使用具有不精确重复警报的 AlarmManager,则设备不会唤醒。它只是在设备已经唤醒时触发。当然,您也可以在启动应用时检查自上次更新以来的时间。
猜你喜欢
  • 1970-01-01
  • 2017-06-03
  • 2011-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 2021-09-30
  • 1970-01-01
相关资源
最近更新 更多