0

是否可以观察日期(例如,像 ContentObserver 一样),以便每次日期更改(因为时间已过或用户手动更改)时,某些代码会被执行?

我需要这个的原因如下:我有一个由光标支持的列表。游标是包含谓词的 SQLite 语句的结果date >= strftime('%Y-%m-%d','now')。因此,如果日期更改,必须从列表中删除一些列表项(这显然会在调用requery()光标后发生)。

4

2 回答 2

1

我建议使用Timer类。

应用程序启动后,1) 计算直到第二天睡觉所需的时间。
2)在那个时候启动一个计时器“唤醒”,
3)一旦该计时器完成,启动另一个计时器以在 24 小时后唤醒
4)执行您要运行的代码。
5) 重复步骤 3。

于 2010-12-17T14:36:11.607 回答
1

只是在您的应用程序恢复时重新查询?这将确保始终针对当前日期进行查询,因为他们无法在不暂停您的应用程序的情况下更改日期。另一件需要注意的是,这似乎是一个真正的边缘案例。用户多久手动更改一次日期(不仅仅是一天中的时间,因为您只比较 m、d、y)?

于 2010-12-17T20:33:09.693 回答