如何在按钮单击时关闭 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。将内容设置为空字符串,将自动使用本地化的关闭文本。

【讨论】:

我尝试将“系统”和“背景”添加到 但是当我点击通知时应用程序仍然打开。 我们需要更多信息来提供帮助。你有什么类型的应用程序?经典的Win32?桌面桥? UWP?并分享您的 XML 的完整 sn-p

以上是关于如何在按钮单击时关闭 uwp 中的吐司的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UWP 的 TextBox 中添加 2 个按钮? [关闭]

monomac - 单击主窗口中的按钮时如何关闭子窗口

如何通过在浏览器中单击按钮来启动我的 Windows 通用应用程序?

如何在按钮单击时切换下拉菜单并在外部单击时关闭?

如何在 PickerView 顶部添加一个按钮以及如何在单击该按钮时关闭 PickerView?

UWP 或 XAML 导航视图突出显示 [关闭]