我将一个WP8.1RT移植到Win10后,发现后台定时任务不执行,注册后台任务的代码如下:
-----------------------------------------------------
await BackgroundExecutionManager.RequestAccessAsync();
var backgroundTaskRegistration = BackgroundTaskRegistration.AllTasks.Values.FirstOrDefault();
if (backgroundTaskRegistration != null)
{
backgroundTaskRegistration.Unregister(true);
}
var timeTrigger = new TimeTrigger(15, false);
var backgroundTaskBuilder = new BackgroundTaskBuilder();
backgroundTaskBuilder.Name = "TestTask";
backgroundTaskBuilder.SetTrigger(timeTrigger);
backgroundTaskBuilder.TaskEntryPoint = typeof(BackgroundTask.TestTask).FullName;
backgroundTaskBuilder.Register();
-----------------------------------------------------
这是原模原样从WP8.1RT上拷贝的代码,
【Package.appxmanifest】文件申明后台任务如下:
-----------------------------------------------------
<Extensions>
<Extension Category="windows.backgroundTasks" EntryPoint="BackgroundTask.TestTask">
<BackgroundTasks>
<Task Type="timer" />
</BackgroundTasks>
</Extension>
</Extensions>
-----------------------------------------------------
这也是原模原样从WP8.1RT上拷贝的代码,
需要说明的是:
1.运行项目真机调试时,可以正常启动并运行后台任务,但部署到手机上不调试的话,后台任务就不触发,
2.我在后台任务的第一行弹了个toast通知,剩余的代码都注释了,它连第一行都没有执行到,
何故?