2017-03-05 5 views
0

백그라운드 작업 (시스템의 rfid 센서 읽기)을 실행하는 응용 프로그램을 개발하려고합니다. 마지막으로 센서 상태를 확인하는 컴퓨터 상태를보고하기위한 다른 작업을 만들고 싶습니다. 5 분 이상 지나면 사용자에게 대기 이유를 묻습니다. 작업을 계속하기를 원하는 경우 사용자가 콘텐츠 대화 상자에서 무언가를 선택하기 전에 컴퓨터가 작동하기 시작하면 콘텐츠 대화 상자를 숨기고 계속 작업하기를 원합니다. 물론 전체 코드를 요구하지는 않습니다 :) 콘텐츠 대화 상자를 표시하고 계속 실행할 수있는 백그라운드 작업의 아주 짧은 예제를 제공하면 좋을 것입니다. 내가 발견 한 가장 가까운 예제는 이것이지만 이해할 수없고 코드에 구현할 수 없습니다. Show a modal UI in the middle of background operation and continueuwp 응용 프로그램의 백그라운드 작업에서 내용 대화 상자를 표시하는 방법

고맙습니다.

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 스레드에 대한 액세스 권한이 없기 때문에 (A ContentDialog 포함) UI를 표시 할 수 없습니다 그래서 어떤 UI를 지원하지 않지만 대신 할 수있는 몇 가지가있다 .

  • 는 BG 작업이
  • 백그라운드 작업을 사용하지 마십시오 (UI를 가지고있다)을 ToastNotification을 표시 가지고이 프로그램을 계속 실행하기 위해 최소화 된 상태로 실행 전체 응용 프로그램과 별도의 프로세스가 있습니다.
  • 예제가 작동하는 WPF에서 수행하십시오. (당신이 할 수없는 이유가 있다면 당신이 말하지 않았다.)
  • BGTask가 프롬프트를 표시 할 수있는 다른 프로세스에 메시지를 보내거나 (다양한 방법으로) 보내도록하십시오.