BackgroundTaskRegistration - 值不在预期范围内

时间:2015-09-08 15:13:39

标签: c# windows-runtime windows-store-apps background-task

我的Windows 8应用程序中存在持续存在的问题。

我想注册一个像这样的BackGroundTask:

private void CheckTaskRegistration()
{
    foreach (var task in BackgroundTaskRegistration.AllTasks)
    {
        Debug.WriteLine(task);
        if (task.Value.Name == "CheckConTask")
        {
            isTaskRegistered = true;
            break;
        }
    }

    if (isTaskRegistered)
    {
        Debug.WriteLine("debug1");
    }
    else if (!isTaskRegistered)
    {
        BackgroundTaskBuilder btb = new BackgroundTaskBuilder();
        btb.Name = "CheckConTask";
        btb.TaskEntryPoint = "Btasks.CheckConTask";

       BackgroundTaskRegistration task = btb.Register();
       Debug.WriteLine("debug2");
    }
}

每次我在Local Machine上运行代码时,都会出现以下错误:

  

“价值不在预期范围内。”

我一直在搜索stackoverflow(Like here)和所有地方,但我似乎无法找到任何解决方案......

很难找到有关此错误的任何信息,因为它非常通用..

我创建了一个全新的项目,其示例代码如此,没有。

问题可能是什么建议?

1 个答案:

答案 0 :(得分:0)

您的任务没有设置触发器:

TimeTrigger trigger = new TimeTrigger(15, false);
BackgroundTaskBuilder builder = new BackgroundTaskBuilder();
builder.TaskEntryPoint = typeof(SubTask).FullName;
builder.SetTrigger(trigger);
builder.Register();

确保使用Package.appxmanifest中的正确触发器注册任务:

<Extension Category="windows.backgroundTasks" EntryPoint="xxx.SubTask">
      <BackgroundTasks>
        <Task Type="timer"/>
      </BackgroundTasks>
    </Extension>