适用于 Windows 应用的 Badge 通知

带有数字锁屏提醒的磁贴,显示数字 63 以指示 63 封未读邮件。
显示数字锁屏提醒的磁贴
数字 63,表示有 63 封未读邮件。

通知锁屏提醒可传达特定于应用的摘要或状态信息。 这些信息可以是数字 (1-99) 或系统提供的一组字形中的一个。 通过锁屏提醒实现最佳传达的信息示例包括:联机游戏中的网络连接状态、消息应用中的用户状态、邮件应用中未读邮件的数量,以及社交媒体应用中新消息的数量。

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

注意

你不能提供自己的锁屏提醒图像;仅可以使用系统提供的锁屏提醒图像。

数字锁屏提醒

Value 徽章 XML
从 1 到 99 的一个数字 如果值为 0,则等同于字形值“无”,将清除锁屏提醒。 数字锁屏提醒小于 100。 <badge value="1"/>
大于 99 的任何数字。 大于 99 的数字锁屏提醒。 <badge value="100"/>

字形锁屏提醒

锁屏提醒可以显示一组不可扩展的状态字形之一,但不可显示数字。

状态 标志符号 XML
(未显示锁屏提醒。) <badge value="none"/>
activity <badge value="activity"/>
闹钟 <badge value="alarm"/>
警报 <badge value="alert"/>
注意 <badge value="attention"/>
可用 <badge value="available"/>
离开 <badge value="away"/>
忙碌 <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 通知。