2013-02-08 77 views
0

我正在將應用程序從iOS移植到WinRT/8 Metro/8 Immersive /不管當前名稱是什麼。Windows 8地鐵/沉浸式應用程序 - 強制終止

在iOS上,我們有能力將Application does not run in background設置爲YES,以便在用戶離開應用時實際退出應用。

我想弄清楚如何在WinRT中複製這種行爲。

  1. 是的,我知道這是不正常的行爲。
  2. 是的,我已經想通了。
  3. 是的,我有一個非常好的理由這樣做。

我假設userLeavingApp活動期間,我只想叫Application.Current.Exit(),但我似乎無法找到userLeavingApp事件。我想到了在App.xaml.vb中使用OnSuspending(Handles Me.Suspending),但是對於我來說這似乎並沒有被快速調用。

有沒有.NET的等效viewWillDisappear什麼的?

任何想法?這是我的應用程序的一個重要的安全特性,由於這樣一個小問題,我不想在整個平臺上遇到這樣的困難。

謝謝!

回答

0

我不認爲你的應用程序將通過認證,如果你打電話Application.Current.Exit()。如果你真的有信心,這是你想要的 - 我想這是值得一試。你可以簡單地卸載任何使用內存/ CPU的東西,當你退出。

1

我實際上沒有看到Application.Current.Exit()在OnSuspending中工作;儘管如你所說,暫停對你來說不夠快(這是設計)。拋出一個例外也沒有爲我工作。

Window.VisibilityChanged,如果我在那裏發出Exit/exception,它會在另一個應用程序接管時關閉應用程序。也就是說,VisibilityChanged在其他情況下也會觸發,因此不確定是否可以覆蓋所有場景或依靠它們不變。 See here多一點上下文。

爲了迴應@Filip,他的迴應剛剛出現,很難通過認證。 Exit()調用等同於異常。