0

アラームマネージャーをsqlliteデータベースの値と組み合わせる方法についてサポートが必要です。私のデータベースには、start_lesson(float)列のスケジュールを保存しました。その値をデータベースから取得し、star_lessonの5分前にメッセージを送信したいと思います。Star_lessonは、次のようになります(9.30、10.20など)。

レッスンが始まるのを一日中チェックする必要があります(そして5分前に通知を送信します)。

だから私の質問はどうすればそれを行うことができますか?

前もって感謝します ;)

4

1 に答える 1

1

データベースを読み取り、最も差し迫ったイベントを見つけ、AlarmManager を使用して T-5 分で PendingIntent を起動する関数を作成します。

PendingIntent は、次の 5 分以内に予定されているすべてのイベントについてデータベースを調べる BroadcastReceiver を起動し、適切と思われる方法でユーザーに通知します。

その後、BroadcastReceiver は上記の関数を呼び出して、次のアラームをスケジュールします。

さらに、データベースを変更する可能性のあるすべての関数も、この関数を呼び出して、可能なスケジュール変更を処理する必要があります。

BOOT_COMPLETED ブロードキャストによってトリガーされ、関数を呼び出す BroadcastReceiver も作成する必要があります。これにより、デバイスが再起動するたびに、すべてが適切に再起動されます。

于 2013-01-07T23:35:57.463 に答える