在不运行应用程序的情况下注册后台任务

3

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

详细版本:

我想要注册一个后台任务,每当用户使用SystemTriggerType.UserPresent登录时运行。

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

var builder = new BackgroundTaskBuilder();

并且,然后。
builder.Name = taskName;
builder.TaskEntryPoint = taskEntryPoint;
builder.SetTrigger(trigger);
BackgroundTaskRegistration task = builder.Register();

如此提到:注册后台任务

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

2个回答

6
你可以在清单文件中使用preInstalledConfigTask扩展。这个任务将在应用安装后启动。
有时候你的应用程序需要在安装后立即更新。这个协议将使你能够立即启动一个更新任务,无需任何用户交互,以确保你的应用程序立即更新。 这里是所有可用扩展的完整列表。
可以使用清单编辑器设置preInstalledConfigtaskpreinstall task in editor
 <Extensions>
    <Extension Category="windows.preInstalledConfigTask" EntryPoint="PreInstallTask.Task" />
  </Extensions>

您可以在清单模式中找到扩展的定义。


谢谢。+1。虽然我还没有接受,直到我确认它。目前,尽管任务(用户存在,而不是预安装)似乎已经注册,但即使我注销并再次登录,它也没有被调用。(而且我认为即使我只锁定屏幕,它也应该被调用。) - ispiro

0

最近我也有同样的问题,之前的答案中缺少的是预安装配置仅适用于 OEM 和 MO。在这里查看

话虽如此,如果你没有管理操作系统并且在开发者中心拥有必要的权限来发布镜像,则任务永远不会触发,因此你想做的可能是不可能的。在这里查看。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接