Соблюдайте дату в Android - PullRequest
       9

Соблюдайте дату в Android

0 голосов
/ 17 декабря 2010

Можно ли наблюдать дату (например, как ContentObserver), чтобы каждый раз, когда дата изменялась (либо по истечении времени, либо из-за того, что пользователь изменил ее вручную), выполнялся какой-то код?

EDIT:
Причина, по которой мне это нужно, заключается в следующем: у меня есть список, который поддерживается курсором. Курсор является результатом оператора SQLite, содержащего предикат date >= strftime('%Y-%m-%d','now'). Поэтому, если дата меняется, некоторые элементы списка должны быть удалены из списка (что, очевидно, произойдет после вызова requery() на курсоре).

Ответы [ 2 ]

1 голос
/ 17 декабря 2010

просто повторный запрос всякий раз, когда ваше приложение возобновляется? это гарантировало бы, что оно всегда запрашивается относительно текущей даты, потому что они не могут изменить дату без приостановки вашего приложения. Другая вещь, которую стоит отметить, это то, что это похоже на реальный крайний случай. как часто пользователи изменяют дату (а не только время суток, поскольку вы сравниваете только m, d, y) вручную?

1 голос
/ 17 декабря 2010

Я бы порекомендовал использовать класс Timer .

После запуска приложения: 1) рассчитать время, необходимое для сна до следующего дня.
2) Запустить таймер, чтобы"пробуждение" в это время,
3) Как только таймер завершит работу, запустите другой таймер для пробуждения через 24 часа
4) Выполните код, который хотите запустить.
5) Повторите шаг 3.

...