Ich entwickle gerade eine App mit einer Hintergrundaufgabe, die bei einer Zeit ausgelöst werden soll, die vom Benutzer eingestellt wird. Der Benutzer wählt zum Beispiel '01: 45 PM ', die App berechnet die Minuten von jetzt bis zu dieser Zeit und registriert eine Hintergrundaufgabe mit einem Zeittrigger. Leider feuert die Hintergrundaufgabe überhaupt nicht. Manchmal hat es einfach ausgelöst, nachdem ich meinen Computer gestartet habe. Ich bin dankbar für jeden Rat, da ich dieses Problem seit einer Woche nicht lösen kann.UWP Hintergrund Aufgabentimer nicht feuern
Ich bereits debugged die Hintergrundaufgabe, indem Sie es über VisualStudio starten, so ist das Problem nicht in der BackgroundTask.cs-Datei.
Hier ist mein Code:
die Hintergrundaufgabe registrieren:
//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);
Methode, um die Hintergrundaufgabe zu registrieren:
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
Vielen Dank für jede Hilfe!
Es kann viele Probleme damit geben. Zwei Dinge, die mir in den Sinn kommen, sind sehr häufig: Wie lange läuft die Hintergrundaufgabe (mehr als 30 Sekunden sind ein Problem mit der Standard-BGTask) und zweitens: Wie hoch ist die CPU-Auslastung für diese Aufgabe und wie hoch war die CPU Nutzung, wann sollte es laufen? Auch das könnte hilfreich sein: https://docs.microsoft.com/en-us/windows/uwp/launch-resume/debug-a-background-task – user3079834
Derzeit wird nur eine Toast-Benachrichtigung gesendet, so dass die Dauer geringer ist als 30 Sekunden und die CPU-Auslastung ist niedrig. – MadMax
Und die CPU-Auslastung, während es zündet?Manchmal wird ein Task nicht ausgelöst, wenn der Hostcomputer eine hohe CPU-Auslastung hat. – user3079834