是否有退出 Metro 风格应用程序的代码?在 C#、C++ 或 VB 中,有类似的示例,CoreApplication.Exit()
但我无法为 Javascript 找到类似的内容。
3 回答
一般建议是应用程序不提供它们自己的紧密可供性。在您的示例中,自动关闭以响应网络连接丢失将看起来好像应用程序在这种情况下崩溃。因此,它可能实际上并没有通过 Windows Store 认证(请参阅要求,第 3.2 节关于意外结束的应用程序)。此外,如前所述,第 3.6 节禁止应用程序自行关闭,因此您也会失败。
调用 window.close 将生成出现在 Windows 应用商店仪表板中的崩溃报告,并将记录为应用程序崩溃,事实上(这可能最终会影响应用商店中的应用程序——对此不确定,但我不会不要冒险)。在这种情况下,最好使用 MSApp.terminateApp 因为崩溃报告会更全面(您可以包含自己的信息)。尽管如此,MSApp.terminateApp 应该只用于真正不可恢复的情况。
如果您有应用程序无法继续有效运行的情况,但本身不是崩溃,例如网络连接丢失,最好通知用户该情况并让他们决定是否关闭应用程序(通过 Alt +F4 或自上而下的滑动关闭手势)作为响应。您还应该检测源的网络连接何时恢复并继续。这样,应用程序就不会丢失其状态,并且可以从中断的地方继续,从而提供连续的用户体验。
Metro 风格应用程序的应用程序生命周期中确实没有明确的“关闭” 。
一般来说,用户不需要关闭应用程序,他们可以让 Windows 管理它们。但是,用户可以选择使用关闭手势或按 Alt+F4 来关闭应用程序。您不能在您的应用中包含任何 UI 以使用户能够关闭您的应用,否则它将无法通过商店认证流程。
您应该正确处理暂停和恢复,并允许用户控制应用程序的显式关闭(在 Windows 8 中有一个关闭 Metro 风格应用程序的手势,不需要像按钮一样提供视觉提示)。
你可以调用MSApp.terminateApp
函数。此处的详细信息:http: //msdn.microsoft.com/pl-pl/library/windows/apps/hh770781.aspx