我正在使用C#作为我的应用程序,它的重要意义在于活动磁贴在个人计算机登录后立即开始更新。目前,更新开始时间不得早于15分钟,因为我正在使用时间触发器进行实时磁贴更新。有什么办法可以手动触发任务,或者有什么其他方式可以让我的活动磁贴从用户登录系统时开始更新?我可以启动Win 8后台任务手册
回答
您不能手动调用后台任务,但可以简单地使用运行后台任务的代码创建共享库,然后直接从后台任务调用它。然后,只要您想从应用程序中手动触发该代码,就可以手动调用该代码。
那么我的问题是,当我启动计算机并登录到它时,该任务在15分钟后启动,因为计时器仅在15分钟时触发任务。那么有没有办法在人登录时触发一次,然后每15分钟一次? – user1801229
是的,你可以做到这一点,请看这里:http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh977056.aspx。您需要使用SessionConnected系统事件。尽管如此,您的应用程序仍需要作为锁屏应用程序运行。 – Flavien
好的非常感谢你我会尝试:) – user1801229
UserPresent SystemTriggerType可能是你之后的东西。我想这样做的方式是同时具有时间和系统触发器,因此每15分钟和用户解锁设备。 我不认为你随时随地尽可能多的CPU时间接近与SystemTrigger寿,但它总比没有 http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.background.systemtriggertype.aspx
更好的DispatcherTimer可以帮助你火了,在设定的时间间隔的事件。您可以将代码添加到App()构造函数中:
// _dispatcherTimer is probably a class level variable.
DispatcherTimer _dispatcherTimer;
// How often
uint _DoSomethingInterval = 500;
// Set up a DispatchTimer
_dispatcherTimer = new DispatcherTimer();
_dispatcherTimer.Tick += DoSomething;
// If you like lambdas, do this
//_dispatcherTimer.Tick += (sender, object) =>
// { Debug.WriteLine("time passed so do something"); }
_dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, (int)_desiredReportInterval);
// The callback for the timer
private void DoSomething(object sender, object args)
{
Debug.WriteLine("time passed so do something");
}
- 1. 后台任务不启动
- 2. 任务可以在NOT后台线程中启动?
- 3. Windows Phone 8.1后台任务无法注册后台任务
- 4. UWP(C#)注册后台任务应用程序前启动
- 5. 启动屏幕与后台任务
- 6. 从后台启动gulp任务php/angularjs
- 7. 启动屏幕与后台任务
- 8. 用户可以关闭Windows 8中的后台任务吗?
- 9. 在服务中启动可取消的后台任务
- 10. 手动启动ANT任务
- 11. 对于Win 8 Metro App,如何在没有触发器的情况下立即启动后台任务?
- 12. Windows 8显示所有后台任务
- 13. Android:启动任何活动以在后台启动?
- 14. 无法注册后台任务
- 15. 我们可以在后台启动一台iBeacon发射机吗?
- 16. Windows Phone 8通知和后台任务
- 17. Windows Phone 8中的后台任务
- 18. 是否可以通过服务在后台启动活动?
- 19. Windows 10移动应用程序后台任务或服务自动启动时,手机重新启动
- 20. xamarin表单win电话8.1后台任务推送通知不注册
- 21. 注册后台任务一旦
- 22. 您可以从WP7中的后台任务启动应用程序页面吗?
- 23. WinRT后台任务
- 24. 后台任务和活动
- 25. 后台任务
- 26. Android后台任务
- 27. 我可以在后台手动设置ObjectId
- 28. cider-jack-in后启动启动任务
- 29. 唤醒/启动MainApp从后台任务TimeTrigger后的Windows Phone 8.1
- 30. 启动后台脚本运行任务,然后退出它
我不相信有一种方法可以立即运行您的后台任务。但是,可以使用周期性磁贴更新或推送通知在用户登录后更新实时磁贴。 –