如何在按钮单击时关闭 uwp 中的吐司
Posted
技术标签:
【中文标题】如何在按钮单击时关闭 uwp 中的吐司【英文标题】:how to dismiss a toast in uwp on button click 【发布时间】:2018-07-22 04:57:40 【问题描述】:我的 uwp 应用程序从 php 服务器接收 toast 通知。它有两个操作按钮“查看”和“关闭”。当应用程序当前处于激活状态时,这些按钮可以正常工作。 (查看按钮单击重定向到新页面和关闭按钮单击将不会执行任何操作。)。但是当应用程序处于关闭状态时 - 当用户点击通知的关闭按钮时,应用程序的启动图标就会出现。我怎样才能阻止这个?我想在用户单击“关闭”按钮时关闭通知。
$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();
【问题讨论】:
【参考方案1】: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。将内容设置为空字符串,将自动使用本地化的关闭文本。
【讨论】:
我尝试将“系统”和“背景”添加到以上是关于如何在按钮单击时关闭 uwp 中的吐司的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UWP 的 TextBox 中添加 2 个按钮? [关闭]
如何通过在浏览器中单击按钮来启动我的 Windows 通用应用程序?