我的uwp应用程序收到来自php服务器的Toast通知。它有两个动作按钮" View"和"解雇"。当应用程序当前处于激活状态时,这些按钮可正常工作。 (查看按钮单击重定向到新页面,单击关闭按钮将不会执行任何操作。)。但是当应用程序处于关闭状态时 - 当用户点击通知的“关闭”按钮时,应用程序的启动图标即将到来。我怎么能阻止这个?我想在用户点击“关闭”按钮时忽略该通知。
$toastMessage= '<toast launch="app-defined-string">'.
'<visual>'.
'<binding template="ToastGeneric">'.
'<text>'.$title.'</text>'.
'<text>'.$subtitle.'</text>'.
'</binding>'.
'</visual>'.
'<audio src="ms-winsoundevent:Notification.SMS" />'.
'<actions>'.
'<action activationType="foreground" content="View" arguments="viewdetails"/>'.
'<action content="Dismiss" arguments="later"/>'.
'</actions>'.
'</toast>';
protected override void OnActivated(IActivatedEventArgs args)
{
if (args.Kind == ActivationKind.ToastNotification)
{
var toastArgs = args as ToastNotificationActivatedEventArgs;
var arguments = toastArgs.Argument;
if (arguments == "viewdetails" || arguments== "app-defined-string")
{
Frame rootFrame = Window.Current.Content as Frame;
if (rootFrame == null)
{
rootFrame = new Frame();
Window.Current.Content = rootFrame;
}
rootFrame.Navigate(typeof(PushNotificationPage));
Window.Current.Activate();
}
}
}
答案 0 :(得分:2)
toast内容文档描述了如何在暂停/解雇部分添加解雇按钮:https://docs.microsoft.com/en-us/windows/uwp/design/shell/tiles-and-notifications/adaptive-interactive-toasts#snoozedismiss
<action activationType="system" arguments="dismiss" content=""/>
基本上,将activationType设置为system,将参数设置为dismiss。将内容设置为空字符串,将自动使用dismiss的本地化文本。