2012-08-10 111 views
1

是否有退出metro樣式應用程序的代碼?在C#,C++或VB中,有像CoreApplication.Exit()這樣的例子,但是我找不到像Javascript那樣的東西。如何關閉javascript metro風格的應用程序?

+1

JavaScript有一個'window.close()',如果可以幫助 – yogi 2012-08-10 12:22:26

回答

3

一般的建議是,應用程序做而不是提供他們自己的接近的可供性。在您的示例中,響應網絡連接丟失而自動關閉將顯示爲在此類情況下應用程序崩潰。因此,它可能實際上並未通過Windows Store認證(請參閱requirements,關於應用程序意外終止的第3.2節)。此外,第3.6節禁止應用程序按照已經注意到的方式關閉它們,所以你也會失敗。

調用window.close將生成一個崩潰報告,該報告出現在Windows應用商店儀表板中,事實上會記錄爲應用程序崩潰(這可能最終會計入商店中的應用程序 - 不確定,但我不會冒險)。在這種情況下,最好使用MSApp.terminateApp,因爲崩潰報告將更全面(並且可以包含自己的信息)。儘管如此,MSApp.terminateApp只能用於真正不可恢復的條件。

如果你有一個條件下的應用程序不能繼續有效地運行,但不是崩潰,本身,如網絡連接的損失,最好告知用戶這種情況,讓他們作出迴應決定是否關閉應用程序(通過Alt + F4或自上而下滑動關閉手勢)。您還應該檢測網絡連接是否已恢復並繼續運行。這種方式應用程序沒有失去它的狀態,並可以繼續它離開的地方,從而提供了一個連續的用戶體驗。

+0

謝謝你,你的回答和你給的資源幫助了我很多! – sedran 2012-08-10 19:00:25

2

Metro風格的應用程序Application Lifecycle中確實沒有明確的「關閉」。

一般情況下,用戶不需要關閉應用程序,他們可以讓Windows管理他們的 。但是,用戶可以選擇使用關閉 手勢或按Alt + F4關閉應用程序。您不能在您的應用程序中包含任何用戶界面到 使用戶能夠關閉您的應用程序,否則它不會通過商店 認證過程。

您應該處理掛起和正確地恢復,並允許用戶控制應用程序的明確結束(有一種姿態在Windows 8關閉Metro風格的應用程序,也沒有必要提供的視覺啓示像按鈕)。

+0

在互聯網連接丟失的情況下,我想關閉我的程序。我用window.close();它的工作。 – sedran 2012-08-10 12:38:01

+0

window.close不會被使用,我相信會讓你從商店中被拒絕。 – 2012-08-10 14:23:17

+0

感謝您的回答,我想我會在學習這些東西后重寫我的應用程序:) – sedran 2012-08-10 19:00:06

相關問題