C# Windows 10通用XAML Toast通知

C# Windows 10通用XAML Toast通知,c#,xaml,uwp,C#,Xaml,Uwp,我赢得了10个通用应用程序,它根据应用程序中的各种事件显示toast通知 我的问题是,toast通知仅在应用程序处于活动状态时才会显示(它没有最小化到任务栏) 我需要该应用程序在我使用任何其他应用程序时显示通知。 我的设置如下: Toast调用代码: private void DisplayNotification() { string toastXmlString = "<toast>"

我赢得了10个通用应用程序,它根据应用程序中的各种事件显示toast通知

我的问题是,toast通知仅在应用程序处于活动状态时才会显示(它没有最小化到任务栏)

我需要该应用程序在我使用任何其他应用程序时显示通知。 我的设置如下:

Toast调用代码:

private void DisplayNotification()
        {
            string toastXmlString = "<toast>"
                               + "<visual version='1'>"
                               + "<binding template='ToastText04'>"
                               + "<text id='1'>Header</text>"
                               + "<text id='2'>Line 1</text>"
                               + "<text id='3'>Line 2</text>"
                               + "</binding>"
                               + "</visual>"
                               + "</toast>";

            Windows.Data.Xml.Dom.XmlDocument toastDOM = new Windows.Data.Xml.Dom.XmlDocument();
            toastDOM.LoadXml(toastXmlString);

            // Create a toast, then create a ToastNotifier object to show
            // the toast
            ToastNotification toast = new ToastNotification(toastDOM);

            ToastNotificationManager.CreateToastNotifier().Show(toast);
        }
private void DisplayNotification()
{
string toastXmlString=“”
+ ""
+ ""
+“标题”
+“第1行”
+“第2行”
+ ""
+ ""
+ "";
Windows.Data.Xml.Dom.XmlDocument toastDOM=新的Windows.Data.Xml.Dom.XmlDocument();
LoadXml(toastXmlString);
//创建toast,然后创建ToastNotifier对象以显示
//祝酒辞
ToastNotification toast=新的ToastNotification(toastDOM);
ToastNotificationManager.CreateToastNotifier().Show(toast);
}

有人知道这是为什么吗?

你需要为此创建一个新的背景任务。有很多解决方案,但以下是简短列表:

  • 将新的Windows运行时组件项目添加到解决方案中
  • 在声明中的清单中,添加新的后台任务并选择推送通知和/或计时器
  • 将入口点设置为完全限定名(namespace.classname)
  • 在应用程序启动时注册您的任务

    if(BackgroundTaskRegistration.AllTasks.Any(task=>task.Value.Name==tasknameCont))返回

    BackgroundTaskBuilder=新的BackgroundTaskBuilder(); builder.Name=TaskNameConst; builder.TaskEntryPoint=TaskEntryPointConst; builder.SetTrigger(新的TimeTrigger(15,false)); builder.Register()


  • 你是如何发送吐司通知的?从Azure,windows universal应用程序的后台服务等,该应用程序以设置的时间间隔刷新数据,并根据结果显示一些祝酒词。您在后台设置的时间间隔有多长?我有一个计时器,在滴答声中,我检查它的值,一旦达到5分钟、10分钟,无论用户选择什么,它都会将数据从SQL拉入一个网格,并显示一个toast。后台任务的一个问题是,它们只能每15分钟启动一次。如果间隔时间短于15分钟,后台任务将不会启动。如果您希望更频繁地启动任务,则必须使用Azure或其他一些能够以更短间隔启动toast的服务。当一个应用程序被最小化时,它会像在手机上一样被挂起,因此它无法再与用户交互、发送祝酒词等。正如您从上面的功能图中看到的,我没有看到任何推送/定时器选项。该应用程序是通用Windows应用程序。您显示的功能列表是针对该应用程序本身的(显示在清单的“功能”选项卡中)。“我的说明”说明如何使用“声明”选项卡添加新的后台任务。当您添加它时,您将看到任务本身的功能。