В процессе фоновые задачи в UWP
В моем проекте UWP я использую в процессе фоновую задачу. Задание запускается каждые 15 минут по таймеру в разных случаях:
Случай 1: когда приложение запущено - в этом случае все работает нормально, как и ожидалось.
Случай 2: когда приложение закрыто - ничего не происходит, пока приложение все еще закрыто.
Пожалуйста, помогите мне с этой проблемой?
Код: // Вот мой метод BackgroundTask.Run
var deferral = taskInstance.GetDeferral();
if (!IsApplicationClosed)
{
//When application is running
await Dispatcher.RunAsync(WCoreDispatcherPriority.Normal, () => {
UpdateUI();
});
}
else
{
UpdateDataStorage();
}
deferral.Complete();
// Вот мой метод OnBackgroundActivation
base.OnBackgroundActivated(args);
var deferral = args.TaskInstance.GetDeferral();
switch (args.TaskInstance.Task.Name)
{
case "MyBackgroundTask":
{
var task = new MyBackgroundTask();
task.Run(args.TaskInstance);
} break;
};
deferral.Complete();
Благодарю.
0 ответов
Я думаю, поскольку вы используете внутрипроцессную фоновую задачу, фоновые операции и ваше приложение запускаются в одном процессе, поэтому, когда вы закрываете приложение, фоновая задача будет отключена, если вы используете фоновую задачу вне процесса, может решить эту проблему. эта ссылка поможет вам создать фоновые операции вне процесса:https://docs.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-a-background-task