UWP 应用的预安装配置任务未运行
Pre-Installed Configuration Task for UWP App not runing
对于编写为 Windows 通用应用程序的 LOB 应用程序,我想在安装应用程序时注册后台任务而不需要启动它。据我所知,文档将我指向 Package.appxmanifest 中的 预安装配置 功能,我发现 this。
但是,当使用这个扩展时,后台任务没有注册,我也看不到它运行任何东西。
这是我在 Package.appxmanifest 中预安装的配置扩展:
<Extension Category="windows.preInstalledConfigTask" EntryPoint="Foo.BackgroundTasks.DefaultRegistrationBackgroundTask" />
为了验证任务和入口点设置是否正确,我使用 更新任务 功能注册了它,增加了应用程序版本,再次部署它并注册了后台任务并一切正常。
这是我在 Package.appxmanifest 中的更新任务扩展:
<Extension Category="windows.updateTask" EntryPoint="Foo.BackgroundTasks.DefaultRegistrationBackgroundTask" />
预安装的配置任务是否受到某种限制或需要其他配置?我该如何调试这类问题?没有命中断点。
代码 Foo.BackgroundTasks.DefaultRegistrationBackgroundTask:
public sealed class DefaultRegistrationBackgroundTask : IBackgroundTask
{
private BackgroundTaskDeferral _backgroundTaskDeferral;
public void Run(IBackgroundTaskInstance taskInstance)
{
// Deferral is required if code uses any async call
_backgroundTaskDeferral = taskInstance.GetDeferral();
// Location Services
BackgroundTaskHelper.RegisterBackgroundTask("Foo.BackgroundTasks.LocationBackgroundTask",
"Foo.LocationBackgroundTask",
new SystemTrigger(SystemTriggerType.UserPresent, false),
null);
// Referal releases
_backgroundTaskDeferral.Complete();
}
}
PreinstalledConfigTask 仅限于预安装的应用程序,即来自 OEM 或 Microsoft 的设备附带的应用程序。对于用户从应用商店(或通过旁加载)获取的应用,它不会被触发。
对于编写为 Windows 通用应用程序的 LOB 应用程序,我想在安装应用程序时注册后台任务而不需要启动它。据我所知,文档将我指向 Package.appxmanifest 中的 预安装配置 功能,我发现 this。
但是,当使用这个扩展时,后台任务没有注册,我也看不到它运行任何东西。
这是我在 Package.appxmanifest 中预安装的配置扩展:
<Extension Category="windows.preInstalledConfigTask" EntryPoint="Foo.BackgroundTasks.DefaultRegistrationBackgroundTask" />
为了验证任务和入口点设置是否正确,我使用 更新任务 功能注册了它,增加了应用程序版本,再次部署它并注册了后台任务并一切正常。
这是我在 Package.appxmanifest 中的更新任务扩展:
<Extension Category="windows.updateTask" EntryPoint="Foo.BackgroundTasks.DefaultRegistrationBackgroundTask" />
预安装的配置任务是否受到某种限制或需要其他配置?我该如何调试这类问题?没有命中断点。
代码 Foo.BackgroundTasks.DefaultRegistrationBackgroundTask:
public sealed class DefaultRegistrationBackgroundTask : IBackgroundTask
{
private BackgroundTaskDeferral _backgroundTaskDeferral;
public void Run(IBackgroundTaskInstance taskInstance)
{
// Deferral is required if code uses any async call
_backgroundTaskDeferral = taskInstance.GetDeferral();
// Location Services
BackgroundTaskHelper.RegisterBackgroundTask("Foo.BackgroundTasks.LocationBackgroundTask",
"Foo.LocationBackgroundTask",
new SystemTrigger(SystemTriggerType.UserPresent, false),
null);
// Referal releases
_backgroundTaskDeferral.Complete();
}
}
PreinstalledConfigTask 仅限于预安装的应用程序,即来自 OEM 或 Microsoft 的设备附带的应用程序。对于用户从应用商店(或通过旁加载)获取的应用,它不会被触发。