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

アプリが再開されるたびに再クエリするだけですか? これにより、アプリを一時停止しないと日付を変更できないため、常に現在の日付に対してクエリが実行されるようになります。注意すべきもう 1 つの点は、これは実際のエッジ ケースのように見えることです。ユーザーが手動で日付を変更する頻度 (m、d、y のみを比較しているため、時刻だけではありません)。

于 2010-12-17T20:33:09.693 に答える