我有一个UAP应用程序,当我在Windows 10 Phone上调试时,会自动触发IBackgroundTask。当我在本地计算机(Windows 10 x86)上进行调试时,它根本就没有被调用。我怎么能触发它?
答案 0 :(得分:1)
一种简单的方法是设置系统触发器。在清单中,您需要一个“后台任务”声明,其中包含“系统事件”属性。 在您的C#代码中,您必须注册您的任务,并且您可以将任务绑定到特定的事件系统,如“NetworkStateChange”:
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 :(得分:0)