Windows 如何在uwp应用程序中从后台任务显示内容对话框

Windows 如何在uwp应用程序中从后台任务显示内容对话框,windows,dialog,uwp,background-process,Windows,Dialog,Uwp,Background Process,我正在尝试开发一个运行后台任务(读取机器的rfid传感器)的应用程序。我想创建另一个任务来报告机器状态,它将在上次读取传感器时进行检查,当超过5分钟时,它将提示用户选择等待的原因。显示后,我希望任务继续检查,因为若机器在用户从内容对话框中选择内容之前开始工作,我希望隐藏内容对话框并继续工作。当然,我不是要完整的代码:)如果您能给出一个背景任务的非常简短的示例,它可以显示内容对话框并继续运行,那就太好了。我发现的最接近的例子是这个,但我无法理解并实现我的代码 多谢各位 await CoreApp

我正在尝试开发一个运行后台任务(读取机器的rfid传感器)的应用程序。我想创建另一个任务来报告机器状态,它将在上次读取传感器时进行检查,当超过5分钟时,它将提示用户选择等待的原因。显示后,我希望任务继续检查,因为若机器在用户从内容对话框中选择内容之前开始工作,我希望隐藏内容对话框并继续工作。当然,我不是要完整的代码:)如果您能给出一个背景任务的非常简短的示例,它可以显示内容对话框并继续运行,那就太好了。我发现的最接近的例子是这个,但我无法理解并实现我的代码

多谢各位

 await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
              () =>
              {
                  if (DialogisOpen == false)
                  {
                      //its been 3 min since machine is not working so we      are showing user dialog to ask for a reason 
                      mp = new MainPage();
                      mp.TestUi();
                      DialogisOpen = true;

                  }

              });

BackgroundTask没有任何UI支持,因此无法显示任何UI(包括ContentDialog),因为它无法访问UI线程,但您可以做一些事情来代替它

  • 让BG任务显示ToastNotification(具有UI)
  • 不要使用后台任务,使用一个运行最小化的完整应用程序和一个单独的进程来保持此运行
  • 在您的示例工作的WPF中执行此操作。(你还没有说你为什么不能这么做。)
  • 让您的BGTask向(或启动)计算机上可以显示提示的另一个进程发送消息(以各种方式之一)

你不能。。。但你可以通过敬酒通知来吸引用户的注意。谢谢你的回答。但你确定吗?这个链接我分享了这个家伙似乎他做了WPF他正在采取的,你做UWP。UWP中的后台任务无法显示任何UI,因为前台应用程序未运行。例如,仅使用toast通知。另一方面,WPF没有像UWP那样的后台任务系统。你确定你在使用后台任务吗?是的,我知道这就是为什么我问这个uwp版本。实际上我只是做了我想做的,但我现在确定它是正确的方法,所以我愿意选择其他方法。我不能在这里粘贴我的代码太长了,我将用我当前的代码部分编辑我的问题