AndroidでAlarmManagerの動作を確認するサンプルプログラム
AlarmManagerの追加方を調べる為にサンプル作りました。
ソースコードはgithubに「SampleAlarm」でアップしてあります。
以下のソースで、AlarmManagerをセットできます。
まず、呼び出したいreceiverのクラスに対するIntentのインスタンスを生成します。
作成したIntentをPendingIntentでラップします。
Calendarクラスを使用して通知したい時間のミリ秒を取得します。
AlarmManagerを生成して、
どのようなタイプのアラームにするか?、いつ起動するか?、起動時に通知するIntentは?という情報を
AlarmManagerに設定します。
設定された時間が来ると、指定したレシーバーに通知が送信され起動します。
通知のタイプ
ELAPSED_REALTIME | 端末が起動してからの時間(SystemClock.elapsedRealtime()からの経過ミリ秒)で時間を指定する。スリープ状態では通知されない。(スリープが解除されるまで通知されない) |
---|---|
ELAPSED_REALTIME_WAKEUP | 端末が起動してからの時間(SystemClock.elapsedRealtime()からの経過ミリ秒)で時間を指定する。スリープ状態の場合、スリープを解除する。 |
RTC | UTCでの時間(System.currentTimeMillis()からの経過ミリ秒)で時間を指定する。スリープ状態では通知されない。(スリープが解除されるまで通知されない) |
RTC_WAKEUP | UTCでの時間(System.currentTimeMillis()からの経過ミリ秒)で時間を指定する。スリープ状態の場合、スリープを解除する。 |