背景工作樣本這個樣本顯示了如何建立並註冊背景工作使用Windows運行背景工作API。一個背景工作是由於系統或時間事件,可以由一個或多個條件的限制。當一個背景工作被觸發,其關聯處理常式運行和執行任務的工作背景。一個背景工作可以運行一個應用程式,即使註冊了背景工作被暫停。這個樣本示範了以下工作:•建立和註冊背景工作用c#編寫的或JavaScript。•建立一個背景工作,由系統事件觸發。•添加一個條件,限制背景工作運行只有當條件實際上是。•報告背景工作進度和完成到前台應用程式。•處理取消背景工作。•初始化任務進程以及背景完成處理常式在啟動應用程式時。 private void OnProgress(IBackgroundTaskRegistration sender, BackgroundTaskProgressEventArgs e)
{
//
// Update the UI with progress reported by the background task.
//
SampleDispatcher.InvokeAsync(CoreDispatcherPriority.Normal,
(task, args) =>
{
var taskRegistration = task as IBackgroundTaskRegistration;
var progressArgs = args.Context as BackgroundTaskProgressEventArgs;
if ((task != null) && (args != null))
{
switch (taskRegistration.Name)
{
case SampleBackgroundTaskName:
SampleBackgroundTaskProgress.Text = "Progress: " + progressArgs.Progress + "%";
break;
case SampleBackgroundTaskWithConditionName:
SampleBackgroundTaskWithConditionProgress.Text = "Progress: " + progressArgs.Progress + "%";
break;
case ServicingCompleteTaskName:
ServicingCompleteProgress.Text = "Progress: " + progressArgs.Progress + "%";
break;
case TimeTriggeredTaskName:
TimeTriggeredBackgroundTaskProgress.Text = "Progress: " + progressArgs.Progress + "%";
break;
}
}
},
sender,
e);
}
完整樣本 /Files/risk/windows8/背景工作sample.rar