是否可以观察日期(例如,像ContentObserver),以便每次日期更改(因为时间已过或用户手动更改),某些代码会被执行?
修改
我需要它的原因如下:我有一个由游标支持的列表。游标是包含谓词date >= strftime('%Y-%m-%d','now')
的SQLite语句的结果。因此,如果日期发生变化,则必须从列表中删除一些列表项(这显然会在调用光标上的requery()
后发生。)
答案 0 :(得分:1)
我建议使用Timer类。
应用启动后,
1)计算到第二天睡觉所需的时间
2)启动计时器以“唤醒”,
3)一旦计时器结束,启动另一个计时器24小时后唤醒
4)执行您想要运行的代码
5)重复步骤3.
答案 1 :(得分:1)
只要您的应用恢复,只需重新查询?这将确保始终查询当前日期,因为他们无法在不暂停您的应用程序的情况下更改日期。另外需要注意的是,这似乎是一个真正的边缘情况。用户多久更改一次日期(而不仅仅是时间,因为您只是比较m,d,y)?