【问题标题】:spanning a timer in background for metro apps在后台跨越 Metro 应用程序的计时器
【发布时间】:2012-07-27 08:53:08
【问题描述】:

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

【问题讨论】:

    标签: windows-8 microsoft-metro winjs


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 应用进入挂起状态时是否可以启动后台任务?
      • 在挂起事件中可以做任何事情,但如果它花费的时间超过 Windows 运行时允许应用程序挂起的秒数,那么您的应用程序将被终止并且必须完全重启
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多