Alarm(アラーム)を使ってみる

Mangoでは様々なバックグラウンドエージェントが追加されましたが、その一つにアラームがあります。Alarmクラスを使えば指定した時刻に音楽を流すことができます。
アラームの時間になると次のような画面が表示されます。

プログラムで記述するとこのようになります。

private void SetAlarm()
{
    if (ScheduledActionService.Find("AlarmSample") != null)
        ScheduledActionService.Remove("AlarmSample");

    var alarm = new Alarm("AlarmSample")
    {
        BeginTime = DateTime.Now.AddMinutes(1.0),
        Content = "起床時間です",
        Sound = new Uri("alarm.wav", UriKind.Relative)
    };

    ScheduledActionService.Add(alarm);
}

AlarmのインスタンスをScheduledActionServiceに登録するだけです。

  • BeginTimeはアラームが起動する時間
  • Contentはアラームに表示する内容
  • Soundはアラーム時の音楽

そしてこの画面でボタン以外をタッチするとアプリケーショが起動し初期ページを表示します。また再通知ボタンをクリックすると数分後にアラームが鳴ります(自分のSamsung Omnia 7だと9分後でした)。
ただし、Alarmにはいくつかの注意が必要です。

  • タイトルは「アラーム」で固定
  • ロックスクリーン中はアプリケーションが起動しない
  • 再通知の時間は決められない

参考:Windows Phone 7.1 SDK is Alarming