Windows Phone 8.1系统触发后台任务未注册

时间:2015-04-22 20:40:19

标签: windows-phone-8.1

我正在尝试在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);
    }
}

但是当我调试时,我无法触发事件: enter image description here

有任何想法可能导致我的问题吗?我没有错。 提前致谢

0 个答案:

没有答案