通过


应用通知标头

可以通过向通知中心添加标头,直观地对通知中心中的一组相关通知进行分组。

在下面的示例中,此组对话在单个标头“露营!!”下统一。 对话中的每个单独消息都是共享同一标头的单独应用通知。

带有标头的通知

还可以按类别直观地对通知进行分组,例如航班提醒、包裹跟踪等等。

有关应用通知的详细信息,请参阅 应用通知概述

向通知添加标头

注释

AppNotificationBuilder 当前不包含方法 SetHeader ,因此直接将 XML 有效负载与 AppNotification 构造函数一起使用。

using Microsoft.Windows.AppNotifications;

string xml = @"
<toast>
    <header id='6289' title='Camping!!' arguments='action=openConversation&amp;id=6289'/>
    <visual>
        <binding template='ToastGeneric'>
            <text>Anyone have a sleeping bag I can borrow?</text>
        </binding>
    </visual>
</toast>";

var notification = new AppNotification(xml);
AppNotificationManager.Default.Show(notification);

若要在同一标头下对多个通知进行分组,请对每个通知使用相同的标头 IDID 是用于确定分组的唯一属性 , 标题参数在通知之间可能有所不同。 组中最新通知的值将被显示。 如果删除了该通知,则值会回退到下一个最新通知。

处理标题中的激活

标头可点击。 标头上的 Arguments 属性指定当用户单击标头时传递给应用的上下文,类似于在通知本身上启动参数。

通过 NotificationInvoked 事件处理来自标头的激活,与任何其他通知激活相同。 有关设置激活的详细信息,请参阅 应用通知快速入门

AppNotificationManager.Default.NotificationInvoked += (sender, args) =>
{
    // For the header defined above, args.Argument contains:
    // "action=openConversation&id=6289"
    string arguments = args.Argument;
};

其他详细信息

  • 标头在视觉上用于分隔和分组通知,但不会更改应用可以拥有的最大通知数(20)或通知列表的先进先出行为。
  • ID 可以是任何字符串。 标头属性没有长度或字符限制。 唯一的约束是整个 XML 通知内容不能超过 5 KB。
  • 创建标头不会在“查看更多”按钮出现之前更改通知中心中显示的通知数(默认情况下,由系统通知设置中的用户可配置) 。
  • 单击标头不会清除属于该标头的通知。 应用应使用通知 API 清除相关通知。

另见