我正在寫一個Windows Phone 7應用程序。我有「致命的異常」處理代碼,我確信應用程序完全被破壞,並且沒有任何意義。 (我希望我永遠不會到這裏...)。由於除了退出之外,我的應用還可以做其他事情,所以我希望用戶能夠關閉應用。有沒有辦法以編程方式退出我的應用程序? (Windows Phone 7)
但我注意到Windows Phone 7的Silverlight 4 SDK中沒有System.Environment.Exit()
。是否有另一種通過編程方式退出應用程序的方法?
我正在寫一個Windows Phone 7應用程序。我有「致命的異常」處理代碼,我確信應用程序完全被破壞,並且沒有任何意義。 (我希望我永遠不會到這裏...)。由於除了退出之外,我的應用還可以做其他事情,所以我希望用戶能夠關閉應用。有沒有辦法以編程方式退出我的應用程序? (Windows Phone 7)
但我注意到Windows Phone 7的Silverlight 4 SDK中沒有System.Environment.Exit()
。是否有另一種通過編程方式退出應用程序的方法?
應用證書REQT:
5.1.2應用程序終止
的 應用程序必須處理異常 由.NET Framework提出,而不是 終止不料。在 認證過程中,將監控應用程序 的意外情況 終止。 意外終止的應用程序失敗 認證。處理 例外情況時,應用程序必須提供用戶友好的錯誤消息。 您可能會提供與 應用程序的上下文相關的 消息。 應用程序必須 繼續運行並保持響應 到用戶輸入異常處理後爲 。顯示 通用或無用的錯誤消息 的應用程序將無法通過認證。
我建議您提供任何您感覺與用戶相關的信息,然後將設備導航留給用戶管理。
確認已知的解決方案提供「退出」按鈕,目前我沒有看到從WP7應用程序實現「退出」的強制性理由。
該平臺完全能夠管理應用程序的關閉。越多的應用程序不提供退出,更快的用戶將習慣於不考慮應用程序管理,並讓平臺管理它。容易 - - 使用開始,背部等
如果用戶希望從當前應用程序的去做些別的事情很快
用戶將只是導航他們的設備他們只投中開始。
.Exit(),雖然可用於xna,但實際上不再需要。在CTP期間有一個證書要求,遊戲必須提供退出按鈕。現在這消失了。
非遊戲應用程序從來沒有需要實現這一點。
這個話題的討論越多(它在這個區塊的運行真的很好),對我來說指標越多,就不需要編碼出口。
我沒有閱讀過這部分規範,謝謝指出。我猜想要做的事情是明確指出,應用程序無法繼續,並通過點擊「開始」硬件按鈕來通知用戶退出。謝謝 – will 2010-10-25 17:23:18
我在市場上有一個應用程序拋出一個異常退出,它從來沒有被標記爲一個問題。兩個注意事項:1)它明確標記爲ExitException,所以在拋出時,它的意圖很明顯,2)僅在一種情況下使用,當用戶試圖退出應用程序並擊中我們的自定義飛濺時屏幕(這是一個頁面,而不是一個圖像),開始了一個動畫,否則不會讓任何人通過。 – 2011-03-29 08:55:45
我剛剛從應用程序拒絕了應用程序,因爲它通過拋出ExitException異常退出。儘管在這些情況下具體說明應用程序將退出,但在設置屏幕上的一個選項可禁用此行爲,我的測試版測試人員指出退出的評論是可取的且有用的,並且用戶被提供了查看幫助的機會第一次打開應用程序。如果我重新提交,但是還沒有發言,我已經回覆了拒絕接受技術例外的可能性。 – Yort 2012-01-27 00:10:27
當您嘗試以編程方式退出WP7應用程序時,需要記住應用程序認證要求。 Peter Torr has a blog post可以幫助你的方法。 Paul Jenkins最近在市場中遇到MahTweets應用程序的問題,他blogged about it here。
HTH, indyfromoz
這有幫助,謝謝你的鏈接。 – will 2010-10-25 17:21:08
這裏是我如何做到這一點:
void Exit()
{
while (NavigationService.BackStack.Any())
NavigationService.RemoveBackEntry();
base.OnBackKeyPress(new CancelEventArgs());
}
不幸的是,這並不工作:(
你應該使用'NavigationService.GoBack()'而不是假回退鍵按 – onmyway133 2012-11-09 10:58:05
你試過嗎?錯誤。 – 2012-11-14 18:54:35
嘗試在循環之前移動「NavigationService.GoBack()」,而不是在之後。 – 2013-03-08 11:10:56
App.Current.MainWindow.Close()
對於Windows Phone 8的,只需調用 App.Current.Terminate();
我想你可以讓你的應用程序拋出一個未處理的異常,在這一點上,Windows Phone將自動終止你的應用程序
至於認證要求,你可以要求例外。這種方法一直爲我工作。
瀏覽到您的解決方案資源管理器App.xaml.cs
和 添加靜態方法將App
類
public static void Exit()
{
App.Current.Terminate();
}
,這樣就可以從你的應用程序的任何地方調用它,如下
App.Exit();
App.Current.Terminate();
對於Windows Phone 8.1 Silverlight應用程序
possible le複製[Windows Phone 7關閉應用程序](http://stackoverflow.com/questions/3659195/windows-phone-7-close-application) – 2010-10-22 08:12:02
也是這麼想的,但是看起來問題似乎是關於如何在應用程序中處理不可恢復的問題。證書請求建議應該處理異常,並且應用程序留在用戶控制導航的位置。 – 2010-10-26 00:09:31
請閱讀此:http://blog.jerrynixon.com/2011/11/mango-sample-exit-application.html – 2012-02-20 19:40:17