如何在启动时启动后台任务- 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();
我怎样才能做到这一点?我错过什么了吗?
您必须添加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.aspxI 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任务调度程序中作为安装过程的一部分?