windows-8 – 注册后如何立即启动Windows应用程序后台任务?

前端之家收集整理的这篇文章主要介绍了windows-8 – 注册后如何立即启动Windows应用程序后台任务?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在写一个只能在PC上运行的Metro应用程序(所以没有,或至少更少,担心电池寿命).当用户点击按钮时,我需要注册并运行后台任务.它记录得很好,但是我发现没有办法让它比15分钟延迟运行,对于这个应用程序来说这是没用的.任何想法如何让它立即运行?

另外我发现一个类似的问题here表示不可能,但有人必须想出一个办法.

编辑:

我要求这个任务的理由是这样的:

我的应用程序将会在长时间,几分钟到几个小时内看到和写入文件.在这段时间的大部分时间里,应用程序不可能在前台呈现.因为我需要代码才能继续执行,似乎最好的办法是创建一个后台任务,但是我无法在Visual Studio之外手动启动这个任务,尽管在Visual Studio中它完美无缺.如果有更合适的方式来处理这个执行,我愿意使用它.

编辑

由于OP的额外信息而修订.

我可以认为你可以通过地铁应用程序做到这一点的唯一方法是要求用户在桌面上“捕捉”您的应用程序 – 在您的快照应用程序上,他们可以启动/停止,并且只能同时使用桌面两个应用程序都在前台运行.

我认为我的另一个答案是不完整的,所以我会尝试提供一个更好的答案.

要澄清:您说明您使用后台任务的全部原因是,即使您的应用程式被暂停,您的应用程式仍会继续运行某些程式码.

背景任务:

您不能触发WinRT后台任务立即运行.

请记住,默认情况下,后台任务是每2小时1秒的@R_301_456@,并且无法指定何时激活 – 您只能使用机会主义触发 – 在这种情况下对您不利.

此外,即使您的应用程序是锁屏应用程序,您也不能指定后台任务的即时处理,除非您使用推送通知,这不适合您尝试执行的操作.对于锁屏应用,您通常每15分钟会得到2秒的@R_301_456@.

OnSuspending:

但是,如果您的应用程序被暂停,则您的应用程序在操作系统挂起之前,您仍然有几秒钟(5,根据这个:http://www.redlist.ch/post/Time-limit-on-suspending-a-WinRT-app.aspx)时间来整理.这个暂停优惠时间比你在后台任务中的时间要长!

因此,我建议不要使用后台任务,而是根据我的其他答案启动后台线程来执行按钮操作(使用本地状态记录其进度).现在,如果你还挂钩了应用程序的onsuspending事件,你可以使用它来查看按钮按动操作是否还没有完成.

希望是有道理的.祝你好运!

原文链接:https://www.f2er.com/windows/371210.html

猜你在找的Windows相关文章