1

当我的应用程序进入挂起状态时,我想在 METRO 应用程序中启动一个后台计时器。有什么办法可以做到这一点。根据 msdn 网站“如果应用程序在 5 秒内未从挂起事件中返回,Windows 将假定该应用程序已停止响应并终止它。” 在上述情况下,我将无法使用计时器执行任何任务。请让我知道当我的应用程序进入挂起状态时如何在后台生成计时器。我正在使用 WinJS 进行编码。

4

2 回答 2

2

您可能需要使用后台任务 API:http: //blogs.msdn.com/b/windowsappdev/archive/2012/05/24/being-productive-in-the-background-background-tasks.aspx

您既可以启动后台任务的计时器,也可以在清单中声明工作的时间间隔。

如果您不希望在暂停时进行工作,则设置的间隔计时器将起作用,并在您退出暂停状态时以正确的间隔触发。

于 2012-07-27T14:35:30.890 回答
1

我想我以前读过类似的东西。你想要的完全是不可能的,因为在应用程序暂停后,它的代码停止运行,所以它不能在暂停时在后台运行自己的计时器。但是,如果在挂起事件中,您应该能够获得相同的效果,您将应用程序关闭的系统时间保存到例如隔离存储/设置,然后在重新激活事件中,您可以获得此值(如果存在),并从那里通过将当前时间与存储时间进行比较来计算应用程序暂停了多长时间

于 2012-07-27T11:33:21.737 回答