你可以在通知中心加入標頭,視覺化地將相關通知群組起來。
在下方的範例中,這個群組對話統一在一個標頭「Camping!!」。 對話中的每一則訊息都是獨立的應用程式通知,共用相同的標頭。
你也可以依類別視覺化分組通知,例如航班提醒、包裹追蹤等。
欲了解更多關於應用程式通知的資訊,請參閱 應用程式通知總覽。
在通知中加入標頭
備註
AppNotificationBuilder 目前沒有包含 SetHeader 方法,所以直接用 XML payload 搭配 AppNotification 建構器使用。
using Microsoft.Windows.AppNotifications;
string xml = @"
<toast>
<header id='6289' title='Camping!!' arguments='action=openConversation&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);
要在同一個標頭下將多個通知分組,請在每個通知中使用相同的標頭 Id 。 ID 是唯一用來決定分組的屬性——標題和論元在不同通知間可能有所不同。 群組中最近一次通知的數值會顯示出來。 如果該通知被移除,數值會回退到下一個最近的通知。
從標題進行啟用處理
標題可點擊。 標頭上的 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。
- 建立標頭不會改變通知中心顯示的通知數量,直到「查看更多」按鈕出現(預設為 3 個,使用者可在系統通知設定中設定)。
- 點擊標頭不會清除該標頭的通知。 你的應用程式應該會使用通知 API 來清除相關通知。