UWP 中的后台任务不 运行
Background Task does not run in UWP
我有一个 UWP 应用程序,我想在其中添加后台任务支持,以便在我的应用程序处于后台时执行某些操作。
我完全按照这里提到的那样做:https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-a-background-task
我有一个单独的后台任务项目,在我的程序包清单文件中我声明我的应用程序使用后台任务(但 "timer" 任务因为我使用的是 TimerTrigger)。代码:
BackgroundTaskBuilder backgroundTaskBuilder = new BackgroundTaskBuilder { Name = "NotificationUpdater", TaskEntryPoint = "NamespaceOfMyBackgroundTaskInterfaceImplementation.BackgroundTask"};
backgroundTaskBuilder.SetTrigger(new TimeTrigger(15, false));
BackgroundTaskRegistration backgroundTaskRegistration = backgroundTaskBuilder.Register();
现在,当我启动我的应用程序(通过 Visual Studio)并使用生命周期事件下拉菜单暂停我的应用程序时,它从不执行 BackgroundTask class 中的 Run()
方法( IBackgroundTask 接口的实现)。
BackgroundTask 中的代码 class:
namespace NamespaceOfMyBackgroundTaskInterfaceImplementation
{
public sealed class BackgroundTask : IBackgroundTask
{
public async void Run(IBackgroundTaskInstance taskInstance)
{
//Code to run in the background
}
}
}
谈话中得知,问题出在项目类型声明错误。应该是 Windows 运行时组件.
关注者请看一下at this answer,里面介绍了步骤。它响应 Silverlight 8.1,但过程和步骤在 WinRT 和 UWP 中是相同的。
我有一个 UWP 应用程序,我想在其中添加后台任务支持,以便在我的应用程序处于后台时执行某些操作。 我完全按照这里提到的那样做:https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-a-background-task
我有一个单独的后台任务项目,在我的程序包清单文件中我声明我的应用程序使用后台任务(但 "timer" 任务因为我使用的是 TimerTrigger)。代码:
BackgroundTaskBuilder backgroundTaskBuilder = new BackgroundTaskBuilder { Name = "NotificationUpdater", TaskEntryPoint = "NamespaceOfMyBackgroundTaskInterfaceImplementation.BackgroundTask"};
backgroundTaskBuilder.SetTrigger(new TimeTrigger(15, false));
BackgroundTaskRegistration backgroundTaskRegistration = backgroundTaskBuilder.Register();
现在,当我启动我的应用程序(通过 Visual Studio)并使用生命周期事件下拉菜单暂停我的应用程序时,它从不执行 BackgroundTask class 中的 Run()
方法( IBackgroundTask 接口的实现)。
BackgroundTask 中的代码 class:
namespace NamespaceOfMyBackgroundTaskInterfaceImplementation
{
public sealed class BackgroundTask : IBackgroundTask
{
public async void Run(IBackgroundTaskInstance taskInstance)
{
//Code to run in the background
}
}
}
谈话中得知,问题出在项目类型声明错误。应该是 Windows 运行时组件.
关注者请看一下at this answer,里面介绍了步骤。它响应 Silverlight 8.1,但过程和步骤在 WinRT 和 UWP 中是相同的。