Cordova Windows Phone 8.1 应用程序生命周期事件不触发?

Cordova Windows Phone 8.1 app lifecycle events don't fire?

有没有人有 workaround/suggestion 让 Cordova 4.x 或 5.0.0 触发 Windows 的 'pause' 和 'resume' 应用程序生命周期事件Phone 8.1?

重现:

预期:当点击 windows 后退按钮或 windows 按钮时,应用程序应在断点处停止。同样,当应用程序恢复时,应用程序应该在断点处停止

实际结果:两个断点都没有触发。

评论:我 运行 加入这个是因为我们有一些间隔计时器,这些计时器在应用程序启动时(以及 onResume 时)设置,并在暂停时关闭。这些间隔计时器没有关闭,表明没有执行 onPause 函数。当然,这会导致不受欢迎的 "flattening of the battery" 但更糟糕的是,如果有待处理的操作(如网络连接),则当应用程序离开前台时,它们无法取消。随后的重新启动可能会或可能不会因此而崩溃,并且一旦应用程序进入启动时崩溃模式,它就无法重新启动,直到它被删除并重新安装。

在调试应用程序时,Windows不会暂停它。此行为记录在:http://blogs.msdn.com/b/mspfe/archive/2013/06/17/suspend-and-resume-in-winrt.aspx

如果所有线程都被冻结,一旦挂起,调试器将无法与应用程序交互。正如您提到的,您可以触发生命周期事件来模拟 suspending/resuming。希望对您有所帮助,谢谢!