2015-09-19 50 views
0

我有當用戶使用此代碼進入應用程序,註冊一個後臺任務:註冊後臺任務一旦

  await BackgroundExecutionManager.RequestAccessAsync(); 

      BackgroundTaskBuilder taskBuilder = new BackgroundTaskBuilder { Name = "First Task", TaskEntryPoint = "myTask.FirstTask" }; 
      taskBuilder.SetTrigger(new TimeTrigger(15, false)); 
      BackgroundTaskRegistration myFirstTask = taskBuilder.Register(); 

它工作正常,任務寄存器,但它仍然每次都重新註冊該應用程序打開。有沒有什麼辦法,例如使用if來檢測一個任務是否被註冊,因此只註冊一個任務而不重複同一個過程呢?

這個問題通過點擊「生命週期事件」,它揭示了約15的首要任務「的情況下,如果這能幫助發現。

回答

0

您可以爲此使用獨立的存儲設置。當應用程序開始查找獨立存儲設置(如果設置不存在),請在其中註冊後臺任務並創建設置。

1

使用BackgroundTaskRegistration.AllTasks收集,以檢查是否你的任務已經被註冊:

if (BackgroundTaskRegistration.AllTasks.Values.Any(b => b.Name == "First Task")) 
{ 
    // Already registered 
}