2017-03-05 21 views
0

我想開發一個運行後臺任務的應用程序(讀取機器的rfid傳感器)我想創建另一個任務報告機器狀態它將檢查上次傳感器被讀取,當其超過5分鐘時將提示用戶選擇等待的原因。它顯示我想要任務繼續檢查,因爲如果機器在用戶從內容對話框中選擇某些內容之前開始工作,我想隱藏內容對話框並繼續工作。當然,我並不要求提供完整的代碼:)如果您可以給出一個可顯示內容對話框並繼續運行的後臺任務的簡短示例,那將是非常棒的。我發現的最近的例子是這個,但我不明白和實現我的代碼Show a modal UI in the middle of background operation and continue如何從後臺任務顯示內容對話框在uwp應用

非常感謝。

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; 

        } 

       }); 
+0

你不能......但你可以通過敬酒通知獲得用戶關注。 –

+0

謝謝你的回答。但你確定嗎?這個鏈接我分享這個人似乎他做了 – Cozdemir

+1

這是他正在採取的WPF,你做UWP。 UWP中的後臺任務無法顯示任何UI,因爲前臺應用程序未運行。例如,只與吐司通知一起工作。另一方面,WPF沒有將後臺任務系統作爲UWP。你確定你正在使用後臺任務嗎? –

回答

1

一個BackgroundTask沒有任何UI支持,因此無法顯示任何UI(包括ContentDialog),因爲它沒有到UI線程的任何訪問,但也有一些事情可以做,而不是。

  • 有BG任務顯示ToastNotification(裏面確實有UI)
  • 不要使用後臺任務,有一個完整的應用程序運行最小化,並且單獨的進程中保持這種運行。
  • 在您的示例工作的WPF中執行此操作。 (您沒有說過是否有原因您不能這樣做。)
  • 您的BGTask是否以各種方式發送消息到(或啓動)可以顯示提示的計算機上的另一個進程。
相關問題