我有一個UWP應用程序,我希望在後臺執行某些操作時添加後臺任務支持。 ,因爲它是這裏所說的我做的正是:https://msdn.microsoft.com/en-us/windows/uwp/launch-resume/create-and-register-a-background-task後臺任務不在UWP中運行
我有後臺任務,並在我的包清單文件中一個單獨的項目,我宣佈,我的應用程序使用後臺任務(但「定時器」的任務,因爲我使用TimerTrigger )。代碼:
BackgroundTaskBuilder backgroundTaskBuilder = new BackgroundTaskBuilder { Name = "NotificationUpdater", TaskEntryPoint = "NamespaceOfMyBackgroundTaskInterfaceImplementation.BackgroundTask"};
backgroundTaskBuilder.SetTrigger(new TimeTrigger(15, false));
BackgroundTaskRegistration backgroundTaskRegistration = backgroundTaskBuilder.Register();
現在,當我啓動我的應用程序(通過Visual Studio中),並使用生命週期事件下拉菜單,暫停我的應用程序,它永遠不會執行在BackgroundTask類的Run()
方法(實施IBackgroundTask接口)。 代碼BackgroundTask類中:
namespace NamespaceOfMyBackgroundTaskInterfaceImplementation
{
public sealed class BackgroundTask : IBackgroundTask
{
public async void Run(IBackgroundTaskInstance taskInstance)
{
//Code to run in the background
}
}
}
您是否在manifest文件中聲明瞭一個入口點,在您的主項目中添加了一個引用,並使您的BTask成爲運行時組件?你也可以看看[在這裏回答的步驟](http://stackoverflow.com/a/24076237/2681948)。 – Romasz
是的,我已經在清單文件中聲明瞭入口點,在我的應用程序項目中添加了一個引用。自從我開發UWP應用程序以來,我的BakgroundTask就是通用Windows類庫。 – tavier
啊,我認爲這就是我做錯了。 – tavier