我想每8小時執行一次後臺任務(更常見的是罰款)。如果計算機在後臺任務應該執行時關閉或休眠,是否真的會跳過該迭代?Windows 8時間觸發的後臺任務
假設它的確如此,我的下一個要求是計算機休眠或打開時進行安排。後者很簡單;當會話開始時,我可以安排一個系統觸發的後臺任務。但當用戶「休眠」計算機時,我不確定如何處理這種情況。對此有何建議? UserPresent觸發器看起來很有前途,但我一直無法找到何時被觸發的任何定義。
我想每8小時執行一次後臺任務(更常見的是罰款)。如果計算機在後臺任務應該執行時關閉或休眠,是否真的會跳過該迭代?Windows 8時間觸發的後臺任務
假設它的確如此,我的下一個要求是計算機休眠或打開時進行安排。後者很簡單;當會話開始時,我可以安排一個系統觸發的後臺任務。但當用戶「休眠」計算機時,我不確定如何處理這種情況。對此有何建議? UserPresent觸發器看起來很有前途,但我一直無法找到何時被觸發的任何定義。
我的建議是下載以下SDK示例:
http://code.msdn.microsoft.com/windowsapps/Background-Task-Sample-9209ade9
運行示例,註冊使用TimeTrigger後臺任務,並設置任務之前完成不久休眠的機器。然後,等待足夠長的時間以使任務計時器到期,然後恢復機器(保持示例應用程序運行),然後切換回示例應用程序並查看任務是否完成。
這應該告訴你任務是否會在恢復時執行。
所以,不,在TimeTrigger很可能會在系統處於睡眠/休眠跳過。
可用的條件可以在這裏找到:http://msdn.microsoft.com/en-US/library/windows/apps/windows.applicationmodel.background.systemconditiontype
我建議你創建兩個後臺任務(我沒有與後臺任務太多的經驗,所以我甚至不知道如何可能,這是)。一個用於TimeTrigger,另一個用UserPresent條件運行。如果TimeTrigger成功運行,請將標誌或值存儲在某個地方的最後一次運行時間,並且在第二個任務即將運行時,檢查該標誌/上次運行時間,然後根據需要中止或繼續。
希望這會有所幫助。
這不是一個真正的答案。 – mydogisbox