首页 文章

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

提问于
浏览
3

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

Long version

我想在每次用户使用 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

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

    有时您的应用程序需要在安装后立即更新 . 此 Contract 将使您能够立即启动更新任务,而无需任何用户交互,以确保您的应用程序立即更新 .

    Here是所有可用扩展的完整列表 .

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

    preinstall task in editor

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

    你会在manifest schema找到扩展名定义

  • 6

    我最近遇到了同样的问题,之前的答案中缺少的是预安装配置仅触发OEM和MO . See here .

    话虽如此,可能无法做你想做的事情,因为除非你没有管理操作系统并运送你的开发人员中心拥有必要权限的图像,否则任务永远不会触发 . See here.

相关问题