快速入门:从桌面发送 Toast 通知
本快速入门介绍如何从桌面应用引发 Toast 通知。
先决条件
- 库
- C++:Runtime.object.lib
- C#:Windows.Winmd
- 必须在“开始”屏幕中安装带有 System.AppUserModel.ID 的应用快捷方式。 但请注意,它不需要固定到“开始”屏幕。 有关详细信息,请参阅 如何通过 AppUserModelID 启用桌面 Toast 通知。
- 至少支持 Windows 8 的 Microsoft Visual Studio 版本
Instructions
1. 创建 Toast 内容
注意
指定包含图像的 Toast 模板时,请注意桌面应用只能使用本地映像;不支持 Web 映像。 此外,本地映像文件的路径必须作为绝对 (而不是相对) 路径提供。
// Get a toast XML template
XmlDocument toastXml = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastImageAndText04);
// Fill in the text elements
XmlNodeList stringElements = toastXml.GetElementsByTagName("text");
for (int i = 0; i < stringElements.Length; i++)
{
stringElements[i].AppendChild(toastXml.CreateTextNode("Line " + i));
}
// Specify the absolute path to an image
String imagePath = "file:///" + Path.GetFullPath("toastImageAndText.png");
XmlNodeList imageElements = toastXml.GetElementsByTagName("image");
ToastNotification toast = new ToastNotification(toastXml);
2.创建并附加事件处理程序
注册 Toast 事件的处理程序:Activated、Dismissed 和 Failed。 桌面应用必须至少订阅 Activated 事件,以便它可以处理用户选择该应用时从 Toast 中预期激活的应用。
toast.Activated += ToastActivated;
toast.Dismissed += ToastDismissed;
toast.Failed += ToastFailed;
3. 发送 toast
重要
每次调用 CreateToastNotifier 时,都必须在“开始”屏幕上包含应用快捷方式的 AppUserModelID。 如果未能执行此操作,则不会显示你的 Toast。
ToastNotificationManager.CreateToastNotifier(appID).Show(toast);
4. 处理回调
如果应用从 Toast 通知收到“已激活”回调,请将应用窗口带到前台。 当用户选择 Toast 时,预期应用将启动到与该 Toast 内容相关的视图。
相关主题