如何在启动时启动后台任务- Windows商店应用程序

本文关键字:启动 Windows 应用程序 后台任务 | 更新日期: 2023-09-27 18:10:00

我的平板电脑是Windows 8.1 pro。

它有一个后台任务,由时间触发器每15'触发一次。

问题是我需要在每次启动(启动应用程序)我的设备自动启动我的后台任务。

我用这个代码注册了我的bg:

       builder.Name = "bikePositionUpdate";
        builder.TaskEntryPoint = "BackgroundTaskGps.BikeGPSPositionUpdateBackgroundTask";
        builder.SetTrigger(new TimeTrigger(15, false)); // 
        // adding condition
        SystemCondition internetCondition = new SystemCondition(SystemConditionType.InternetAvailable);
        SystemCondition userPresentCondition = new SystemCondition(SystemConditionType.UserPresent); 
        builder.AddCondition(internetCondition);
        builder.AddCondition(userPresentCondition);
        BackgroundTaskRegistration taskRegistration = builder.Register();

我的应用程序有锁屏访问

         await BackgroundExecutionManager.RequestAccessAsync();

我怎样才能做到这一点?我错过什么了吗?

如何在启动时启动后台任务- Windows商店应用程序

您必须添加SystemConditionType.SessionConnected条件,此条件每次用户登录到Windows时都会发生。

应用程序必须被放置在锁定屏幕上,才能使用此触发器类型成功注册后台任务。

编辑:

在这个url上你可以找到关于你需要什么以及如何使用它的官方文档:

https://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh977056.aspx

https://msdn.microsoft.com/en-us/library/windows/apps/xaml/windows.applicationmodel.background.systemtriggertype.aspx

I think you should add SystemConditionType.SessionConnected condition,where this condition will check every time theuser log on to Windows

您是否尝试在注册表中添加它以在启动时运行?

我没有8.1检查,但如果没有从win7改变路径应该是HKEY_CURRENT_USER'Software'Microsoft'Windows'CurrentVersion'Run(或HKEY_LOCAL_MACHINE)只是创建一个新的字符串值与路径到你的应用程序,它将在Windows启动时运行

这个await BackgroundExecutionManager.RequestAccessAsync();的结果应该是AllowedWithAlwaysOnRealTimeConnectivity。

表示:用户在对话框中选择了"允许"。应用添加到锁屏,可以设置后台任务

这个BackgroundTaskRegistration taskRegistration = builder.Register();你应该在await BackgroundExecutionManager.RequestAccessAsync();

之后调用

您是否尝试过将应用程序添加到Windows任务调度程序中作为安装过程的一部分?