注册后台任务而不运行应用

时间:2016-12-02 11:49:02

标签: c# uwp win-universal-app background-task

tl; dr :如何在不运行应用程序的情况下注册后台任务?

长版

我想在每次用户使用SystemTriggerType.UserPresent登录时注册后台任务。

我找到了有关注册任务的信息,但这是必须执行的代码。如果在应用程序运行后只需要执行任务,那就没问题了。但是如何在没有运行应用程序的情况下注册任务? 后台任务可以通过

注册
var builder = new BackgroundTaskBuilder();

然后

builder.Name = taskName;
builder.TaskEntryPoint = taskEntryPoint;
builder.SetTrigger(trigger);
BackgroundTaskRegistration task = builder.Register();

如上所述: Register a background task

但正如我所说 - 我的问题是如何在应用程序执行之前运行此代码。

2 个答案:

答案 0 :(得分:6)

您可以在清单中使用preInstalledConfigTask扩展名。安装应用程序后将启动此任务。

  

有时候您的应用程序需要在发布后立即更新   安装。该合同将使您能够立即启动   更新任务,无需任何用户交互,以确保您的应用程序   立即更新。

this gist是所有可用扩展程序的完整列表。

可以使用清单编辑器设置preInstalledConfigtask

Here

 <Extensions>
    <Extension Category="windows.preInstalledConfigTask" EntryPoint="PreInstallTask.Task" />
  </Extensions>

您可以在preinstall task in editor

中找到扩展名定义

答案 1 :(得分:0)

我最近遇到了同样的问题,之前的答案中缺少的是预安装配置仅触发OEM和&amp;材料订单。 See here

话虽这么说,可能无法做你想做的事,因为任务永远不会触发,除非你没有管理操作系统并发送图像+在开发者中心拥有必要的权限。 See here.