Alarmを使って指定された時間にアラームを鳴らす

Windows Phone SDK 7.1から追加されました「リマインダー」と「アラーム」についてご紹介します。

リマインダーについての説明はこちらをご覧ください。

アラームの場合は、Titleプロパティがサポートされておらず、常に「アラーム」というタイトルになります。テキストコンテンツに情報を設定しておくと表示されるのはリマインダーの挙動と同様です。

アラームは、リマインダーのような特定のページでアプリケーションを起動させるようなことはできません。指定した時刻が来るとダイアログが表示されますがこの時鳴らすアラーム音を指定することができます。

アラームの設定

アラーム情報を作成してScheduledActionServiceクラスのAddメソッドを使用して、システムに新しいアラームを登録します。

    // 既にalarmという名前のアラーム情報が存在しているかチェック
    if (ScheduledActionService.Find("alarm") != null) {
        // 既存のアラーム情報を削除する
        ScheduledActionService.Remove("alarm");
    }
 
    var alarm = new Alarm("alarm");
    alarm.Content = "アラームの通知コンテンツ";
    // 「アラームを通知を開始する時間」を今から1分後に設定する
    alarm.BeginTime = DateTime.Now.AddMinutes(1);
    // 「アラームが期限切れになる時間」を今から2分後に設定する
    alarm.ExpirationTime = DateTime.Now.AddMinutes(2);
    // 通知を繰り返すか、繰り返しの間隔を設定
    alarm.RecurrenceType = RecurrenceInterval.Daily;
    // アラーム時の鳴動するサウンド
    //alarm.Sound = new Uri("/Ring01.wma", UriKind.Relative);
 
    ScheduledActionService.Add(alarm);

ScheduledActionServiceにアラーム情報を登録後、1分後にアラーム通知がされます。

参照