1

当用户使用Alt-F4或向下滑动手势退出应用程序时,我想运行一些清理代码(如取消注册预定通知) 。有没有办法在 WinJS 中处理应用程序退出?我已经阅读了WinJS.Application对象的文档,但没有看到任何处理用户退出的方法。

4

1 回答 1

5

没有表明应用程序正在关闭的特殊事件:

没有特殊事件表明用户已关闭应用程序。用户关闭应用程序后,它会暂停并终止,在大约 10 秒内进入NotRunning状态。如果一个应用已经为Suspending |注册了一个事件处理程序。挂起事件,当应用程序挂起时调用。您可以使用此事件处理程序将相关的应用程序和用户数据保存到持久存储中。

因此,您需要处理暂停/恢复。处理暂停的血腥细节在这里,但这里有一个摘要:

  1. 注册检查点事件,该事件将告诉您的应用程序正在暂停。
  2. 在该事件的事件处理程序中保存您需要保存的任何数据。
  3. 在事件处理程序中也可以释放资源、暂停通知等。

ApplicationExecutionState在恢复时,您可以使用枚举检查用户是否关闭了应用程序。这可能与您相关,也可能与您无关,因为似乎没有办法区分checkpoint事件被触发的原因,并且您唯一的选择是将您的状态保存在事件处理程序中,无论它为什么发生。

此处还有其他暂停/恢复指南,您可能会发现此示例应用程序很有帮助。

于 2012-10-01T04:29:15.037 回答