我正在尝试在Windows Phone 8.1应用程序中创建后台任务。
由于某种原因,我的系统触发后台任务永远不会被注册。我没有收到错误,但该任务没有出现在调试器的生命周期事件中。
计时器触发后台任务会在生命周期事件中出现而不会出现问题。我甚至可以调试我的任务。
这是我用来注册任务的代码。它在OnNavigatedTo
中调用 private void registerService()
{
foreach (var task in BackgroundTaskRegistration.AllTasks)
{
task.Value.Unregister(true);
}
var builder = new BackgroundTaskBuilder();
builder.Name = "MySampleTask";
builder.TaskEntryPoint = "BackgroundTasks.TileBadgeUpdate";
builder.SetTrigger(new SystemTrigger(SystemTriggerType.NetworkStateChange, false));
var ret = builder.Register();
}
背景任务:
public sealed class TileBadgeUpdate : IBackgroundTask
{
public void Run(IBackgroundTaskInstance taskInstance)
{
BackgroundTaskDeferral deferral = taskInstance.GetDeferral();
updateBadge();
deferral.Complete();
}
private void updateBadge()
{
var badgeXML = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeNumber);
var badge = badgeXML.SelectSingleNode("/badge") as XmlElement;
badge.SetAttribute("value", "20");
var badgeNotification = new BadgeNotification(badgeXML);
BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badgeNotification);
}
}
但是当我调试时,我无法触发事件:
有任何想法可能导致我的问题吗?我没有错。 提前致谢