appがその時点で実行されているかどうかに関係なく、app通知を後で表示するようにスケジュールできます。 これは、通知の時刻と内容が事前にわかっているユーザーのアラームやその他のフォローアップ タスクを表示するシナリオに役立ちます。
スケジュールされた app 通知の配信期間は 5 分です。 スケジュールされた配信時間中にコンピューターがオフになっていて、5 分を超えてオフのままになっている場合、通知はユーザーに関連しなくなったため "削除" されます。 コンピューターの電源が切れた時間に関係なく、通知の確実な配信が必要な場合は、タイム トリガーでバックグラウンド タスクを使用することをお勧めします。 詳細については、「 バックグラウンド タスク」を参照してください。
app通知の詳細については、「App通知の概要」を参照してください。
注
この記事のコード例では、Microsoft.Windows.AppNotifications 名前空間を使用して通知コンテンツを作成し、スケジュール用の Windows.UI.Notifications 名前空間を作成します。 これら 2 つの名前空間は、同じ appで一緒に使用できます。
通知をスケジュールする
今後の通知をスケジュールするには、AppNotificationBuilder を使用して通知コンテンツを定義します。 次に、AddToScheduleScheduledToastNotification を呼び出します。 次の例では、通知を 10 秒後に表示するようにスケジュールします。
using Microsoft.Windows.AppNotifications.Builder;
using Windows.UI.Notifications;
using Windows.Data.Xml.Dom;
var payload = new AppNotificationBuilder()
.AddArgument("action", "viewItemsDueToday")
.AddText("ASTR 170B1")
.AddText("You have 3 items due today!")
.BuildNotification()
.Payload;
var doc = new XmlDocument();
doc.LoadXml(payload);
var scheduledNotification = new ScheduledToastNotification(doc, DateTimeOffset.Now.AddSeconds(10));
scheduledNotification.Tag = "18365";
scheduledNotification.Group = "ASTR 170B1";
ToastNotificationManager.CreateToastNotifier().AddToSchedule(scheduledNotification);
Tag プロパティと Group プロパティは、通知の複合主キーとして機能します。 これらの値を設定すると、次のセクションに示すように、スケジュールされた通知を後で取り消すか置き換えることができます。
スケジュールされた通知を取り消す
スケジュールされた通知を取り消すには、 GetScheduledToastNotifications を呼び出して保留中の通知の一覧を取得し、前に指定したタグに一致するものに対して RemoveFromSchedule を呼び出します。
var notifier = ToastNotificationManager.CreateToastNotifier();
var scheduled = notifier.GetScheduledToastNotifications();
foreach (var notification in scheduled)
{
if (notification.Tag == "18365")
{
notifier.RemoveFromSchedule(notification);
}
}
こちらも参照ください
Windows developer