我目前正在開發一個應用程序,後臺任務應該在用戶設置的時間開啓。例如,用戶選擇'01:45PM',該應用正在計算從現在到該時間的分鐘數,並且使用時間觸發器註冊後臺任務。不幸的是,背景任務根本沒有開火。有時它在我啓動計算機後才被解僱。我很感激任何意見,因爲我一個星期以來無法解決這個問題。UWP後臺任務計時器沒有開火
我已經調試通過VisualStudio啓動它的後臺任務,所以問題不在BackgroundTask.cs文件中。
這裏是我的代碼:
註冊後臺任務:
//I set the time to 15 minutes to see if this would work. It didn't... var trigger = new TimeTrigger(15, true); BackgroundTaskHelper.RegisterBackgroundTask("BackgroundTask.BackgroundTask", "BackgroundTask", trigger, null);
方法註冊後臺任務:
public static async void RegisterBackgroundTask(string taskEntryPoint, string taskName, IBackgroundTrigger trigger, IBackgroundCondition condition) { foreach (var cur in BackgroundTaskRegistration.AllTasks) { if (cur.Value.Name == taskName) { cur.Value.Unregister(true); } } var builder = new BackgroundTaskBuilder(); builder.Name = taskName; builder.TaskEntryPoint = taskEntryPoint; builder.SetTrigger(trigger); if (condition != null) { builder.AddCondition(condition); } await BackgroundExecutionManager.RequestAccessAsync(); var task = builder.Register(); }
Package.appxmanifest Package.appxmanifest, Image
感謝您的幫助!
可能有很多問題。我經常想到兩件很常見的問題:後臺任務運行多長時間(超過30秒是標準BGTask的問題),其次是:此任務的CPU使用率有多高,CPU的使用率有多高用法,什麼時候應該運行?這也許是有幫助的:https://docs.microsoft.com/en-us/windows/uwp/launch-resume/debug-a-background-task – user3079834
目前它只是發送一個Toast通知,所以持續時間少於30秒,CPU使用率很低。 – MadMax
並且它在燒製時的CPU使用率?因爲有時任務不會觸發,如果主機的CPU使用率很高。 – user3079834