如何选择加入 Toast 通知(Windows 运行时应用)
[ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]
注意 不使用 JavaScript?请参阅如何选择接受 Toast 通知 (XAML)。
本主题介绍如何指定应用能够引发 Toast 通知。
你需要了解的内容
技术
- Windows Runtime
先决条件
要理解本主题,你需要:
- 了解 Toast 通知术语及概念。有关详细信息,请参阅 Toast 概述。
- 熟悉 Toast XML 架构,基本熟悉 XML 及其通过文档对象模型 (DOM) API 的操作。有关详细信息,请参阅 Toast 架构。
说明
步骤 1: 声明 Toast 通知功能
引发 Toast 通知的能力在应用的 package.appxmanifest 清单文件中进行声明。如果使用 Microsoft Visual Studio 清单编辑器,则仅需在“应用程序”选项卡的“通知”****部分中将“支持 Toast”选项设置为“是”。
以下示例介绍作为选择此选项的结果插入到 package.appxmanifest 文件中的 XML。ToastCapable 特性添加到清单的 VisualElements 元素。
此示例还显示了在 Visual Studio 外部手动创建 package.appxmanifest 文件时要添加的内容。有关详细信息,请参阅如何手动创建包清单。请注意,尽管 Visual Studio 选项为“是”,但写入 package.appxmanifest 文件的是“true”。
<VisualElements
...
ToastCapable="true">
</VisualElements>
步骤 2: 声明 Toast 通知的背景色和文本颜色(仅限 Windows)
你可以为 Toast 通知声明背景颜色和浅色或深色文本。请注意,此设置也适用于始终链接的磁贴—Toast 和磁贴通知背景以及文本颜色。
如果使用 Visual Studio 清单编辑器,则在“可见资产”选项卡中选择“前台文本”****选项。将“背景颜色”选项设置为 W3DC 颜色字符串(例如“#FFFFFF”)。
注意 Windows Phone 应用商店应用不允许你设置文本或背景颜色。Toast 的背景颜色是系统主题色,用户可以在“设置”中选择此颜色,而文本将始终显示为浅色。
以下示例介绍作为选择这些选项的结果插入到 package.appxmanifest 文件中的 XML。ForegroundText 和 BackgroundColor 特性已添加到清单的 VisualElements 元素。
<VisualElements
...
ForegroundText="dark"
BackgroundColor="#FFFFFF">
</VisualElements>
步骤 3: 指定徽标图像
应用的小徽标图像显示在每个 Toast 通知的右下角,用于让用户识别引发通知的应用。
注意 Windows Phone 8.1 不使用此徽标图像。磁贴仅显示应用的显示名称(如清单中所述)或者不显示任何内容。
如果使用 Visual Studio 清单编辑器,则在“可见资产”选项卡中设置“正方形 30x30 徽标”****(Windows) 或“正方形 44x44 徽标”(Windows Phone) 图像路径。指定的图像必须包含在应用包中。
以下示例介绍作为选择这些选项的结果插入到 package.appxmanifest 文件中的 XML。SmallLogo 特性添加到清单的 VisualElements 元素。
<VisualElements
...
SmallLogo="images\smallTile-sdk.png">
</VisualElements>
备注
完成上述步骤之后,你的应用便可以向用户发送 Toast 通知了。
完整示例
以下示例显示了 package.appxmanifest 文件中某个示例 Windows 应用的 VisualElements 元素的完整 XML,其中包括本主题中所述的属性。
<VisualElements
DisplayName="ToastsSample"
Logo="images\squareTile-sdk.png"
SmallLogo="images\smallTile-sdk.png"
Description="SDK Sample"
ForegroundText="dark"
BackgroundColor="#FFFFFF"
ToastCapable="true">
<DefaultTile ShortName="ToastsSample" ShowName="allLogos"/>
<SplashScreen BackgroundColor="white" Image="images\splash-sdk.png"/>
</VisualElements>