适用于 Windows 应用的 Badge 通知

通知锁屏提醒可传达特定于应用的摘要或状态信息。 它们可以是数字(1-99)或一组系统提供的标志符号之一。 通过锁屏提醒传达的信息示例包括在线游戏中的网络连接状态、消息应用中的用户状态、邮件应用中未读邮件数以及社交媒体应用中的新帖子数。

无论应用是否正在运行,通知锁屏提醒都会显示在应用的任务栏图标上及其开始磁贴的右下角。 锁屏提醒可以显示在所有磁贴大小上。

注意

无法提供自己的锁屏提醒图像;只能使用系统提供的锁屏提醒图像。

数字锁屏提醒

徽章 XML
从 1 到 99 的数字。 值 0 等效于字形值“none”,并将清除锁屏提醒。 小于 100 的数字锁屏提醒。 <badge value="1"/>
任何大于 99 的数字。 大于 99 的数字锁屏提醒。 <badge value="100"/>

字形锁屏提醒

锁屏提醒可以显示一组不可扩展的状态标志符号,而不是数字。

Status 标志符号 XML
(未显示锁屏提醒。 <badge value="none"/>
活动 <badge value="activity"/>
报警 <badge value="alarm"/>
警报 <badge value="alert"/>
一些组 <badge value="attention"/>
SaaS 产品/服务 <badge value="available"/>
離開 <badge value="away"/>
busy <badge value="busy"/>
error <badge value="error"/>
newMessage <badge value="newMessage"/>
暂停 <badge value="paused"/>
<badge value="playing"/>
没空 <badge value="unavailable"/>

创建锁屏提醒

这些示例显示如何创建锁屏提醒更新。

创建数字锁屏提醒

private void setBadgeNumber(int num)
{

    // Get the blank badge XML payload for a badge number
    XmlDocument badgeXml = 
        BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeNumber);

    // Set the value of the badge in the XML to our number
    XmlElement badgeElement = badgeXml.SelectSingleNode("/badge") as XmlElement;
    badgeElement.SetAttribute("value", num.ToString());

    // Create the badge notification
    BadgeNotification badge = new BadgeNotification(badgeXml);

    // Create the badge updater for the application
    BadgeUpdater badgeUpdater = 
        BadgeUpdateManager.CreateBadgeUpdaterForApplication();

    // And update the badge
    badgeUpdater.Update(badge);

}

创建字形锁屏提醒

private void updateBadgeGlyph()
{
    string badgeGlyphValue = "alert";

    // Get the blank badge XML payload for a badge glyph
    XmlDocument badgeXml = 
        BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeGlyph);

    // Set the value of the badge in the XML to our glyph value
    Windows.Data.Xml.Dom.XmlElement badgeElement = 
        badgeXml.SelectSingleNode("/badge") as Windows.Data.Xml.Dom.XmlElement;
    badgeElement.SetAttribute("value", badgeGlyphValue);

    // Create the badge notification
    BadgeNotification badge = new BadgeNotification(badgeXml);

    // Create the badge updater for the application
    BadgeUpdater badgeUpdater = 
        BadgeUpdateManager.CreateBadgeUpdaterForApplication();

    // And update the badge
    badgeUpdater.Update(badge);

}

清除锁屏提醒

private void clearBadge()
{
    BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear();
}

获取示例代码

  • 通知示例
    演示如何创建动态磁贴、发送锁屏提醒更新和显示 Toast 通知。