如何在按钮点击时关闭uwp中的吐司

时间:2018-02-12 04:09:30

标签: push-notification uwp windows-10 toast wns

我的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();
            }
        }
    }

1 个答案:

答案 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的本地化文本。