如何计划 Toast 通知 (HTML)

[ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]

注意  不使用 JavaScript?请参阅如何计划 Toast 通知 (XAML)

 

本主题介绍如何将 Toast 通知安排在特定时间出现。

你需要了解的内容

技术

  • Windows Runtime

先决条件

说明

步骤 1: 指定模板

在指定传递时间前,必须创建通知。


var template = Windows.UI.Notifications.ToastTemplateType.toastText02;                        
var toastXml = Windows.UI.Notifications.ToastNotificationManager.getTemplateContent(template);

步骤 2: 提供 Toast 通知内容

我们将不会在这里对此进行介绍,因为计划 Toast 和非计划 Toast 的内容相同。有关详细信息,请参阅快速入门:发送 Toast 通知

步骤 3: 指定应传递 Toast 通知的时间

此示例指定通知应在 3 秒内出现。此示例使用 JavaScript 日期对象检索当前时间。


var currentTime = new Date();
var startTime = new Date(currentTime.getTime() + 3 * 1000);

步骤 4: 创建计划的 Toast 通知对象

发送 Toast 通知内容和计划传递时间至构造函数。

var scheduledToast = new Windows.UI.Notifications.ScheduledToastNotification(toastXml, startTime);

步骤 5: 可选:为计划 Toast 通知赋予 ID

此 ID 不能超过 16 个字符。如果要取消通知,以后可以使用该 ID。

scheduledToast.id = "Future_Toast";

步骤 6: 向计划中添加 Toast 通知。

创建 ToastNotifier 对象,该对象反过来用于向计划中添加通知。


var toastNotifier = Windows.UI.Notifications.ToastNotificationManager.createToastNotifier();
toastNotifier.addToSchedule(scheduledToast);

添加以特定时间间隔重复的 Toast 通知

以下代码显示单个 Toast 通知 5 次,每次相隔一分钟。为清楚起见,省略了模板中要填充的代码。


var template = Windows.UI.Notifications.ToastTemplateType.toastText02;
var toastXml = Windows.UI.Notifications.ToastNotificationManager.getTemplateContent(template);

// TO DO: Fill in the template with your notification content here. 
 
var currentTime = new Date();
var startTime = new Date(currentTime.getTime() + 1000);
 
var recurringToast = new Windows.UI.Notifications.ScheduledToastNotification(toastXml, startTime, 60 * 1000, 5);
recurringToast.id = "Recurring_Toast";

var toastNotifier = Windows.UI.Notifications.ToastNotificationManager.createToastNotifier();
toastNotifier.addToSchedule(recurringToast);