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