首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows10上运行IBackgroundTask

在Windows10上运行IBackgroundTask
EN

Stack Overflow用户
提问于 2016-04-18 14:54:17
回答 2查看 480关注 0票数 0

我有一个UAP应用程序,当我在Windows10手机上调试时,IBackgroundTask会自动触发。当我在本地机器(Windows10 x86)上调试时,根本不会调用它。我怎么触发它呢?

EN

回答 2

Stack Overflow用户

发布于 2016-04-19 15:34:42

一种简单的方法是设置系统触发器。在您的清单中,您需要一个“后台任务”声明,以及一个“系统事件”属性。在您的C#代码中,您必须注册您的任务,并且可以将该任务绑定到一个特定的事件系统,如"NetworkStateChange“:

代码语言:javascript
复制
foreach (var task in BackgroundTaskRegistration.AllTasks)
{
    task.Value.Unregister(true);
}

var result = await BackgroundExecutionManager.RequestAccessAsync();
if (result == BackgroundAccessStatus.Denied)
{
    return;
}

BackgroundTaskBuilder builder = new BackgroundTaskBuilder();
builder.Name = "<task name>";
builder.TaskEntryPoint = "<task entry point>";

builder.SetTrigger(new SystemTrigger(SystemTriggerType.NetworkStateChange, false));
var registration = builder.Register();

有了这段代码,您可以在网络上手动启动任务(切换wifi或拔掉电缆)。

票数 1
EN

Stack Overflow用户

发布于 2016-04-19 19:59:43

调试时,您可以直接从Visual Studio 2015触发后台任务。有一个名为Lifecycle Events的下拉菜单,可以让你调用SuspendResume和任何注册的后台任务。事先在你的任务中设置一个断点。(在我的例子中,实现后台任务的类称为NotifyChanges。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36687224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档