处理申请退出

pra*_*abu 1 windows-8 winjs

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

Ada*_*ear 5

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

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

因此,您需要处理暂停/恢复.处理暂停的血腥细节在这里,但这是一个总结:

  1. 注册检查点事件,告诉您的应用程序它已被暂停.
  2. 保存您在该事件的事件处理程序中保存的所有数据.
  3. 在事件处理程序中也释放资源,暂停通知等.

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

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