Application 基底類別可提供下列功能:
- 生命週期方法
OnStart、OnSleep與OnResume。 - 頁面導覽事件
PageAppearing、PageDisappearing。 - 強制回應瀏覽事件
ModalPushing、ModalPushed、ModalPopping和ModalPopped。
生命週期方法
Application 類別包含三個可供覆寫以回應生命週期變更的虛擬方法:
OnStart- 會在應用程式啟動時呼叫。OnSleep- 會在每次應用程式被移到背景時呼叫。OnResume- 會在應用程式被傳送到背景後又再次繼續時呼叫。
注意
「沒有」任何終止應用程式的方法。 正常情況下 (亦即非當機時) 會從 OnSleep 狀態終止應用程式,而不會提供程式碼任何其他通知。
若要觀察這些方法的呼叫時機,請在每個方法中實作 WriteLine 呼叫 (如下所示),並在每個平台上進行測試。
protected override void OnStart()
{
Debug.WriteLine ("OnStart");
}
protected override void OnSleep()
{
Debug.WriteLine ("OnSleep");
}
protected override void OnResume()
{
Debug.WriteLine ("OnResume");
}
重要
在 Android 上,OnStart 方法將會被輪流呼叫,同時也會在應用程式首次啟動時被呼叫,前提是主要活動在 [Activity()] 屬性中缺少 ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation。
頁面導覽事件
Application 類別上有兩個事件可提供頁面出現和消失的通知:
PageAppearing- 頁面即將出現在畫面上時引發。PageDisappearing- 頁面即將從畫面上消失時引發。
如果您想在畫面上出現頁面時追蹤它們,則可使用這些事件。
注意
PageAppearing 和 PageDisappearing 事件是分別在 Page.Appearing 和 Page.Disappearing 事件引發之後,立即從 Page 基底類別引發。
強制回應導覽事件
Application 類別上有四個事件,每個都有自己的事件引數,可讓您回應顯示與關閉的強制回應頁面:
ModalPushing- 會在頁面被強制推送時引發。ModalPushed- 會在頁面被強制推送後引發。ModalPopping- 會在頁面被強制快顯時引發。ModalPopped- 會在頁面被強制快顯後引發。
注意
ModalPopping 事件引數 (ModalPoppingEventArgs 型別) 包含 Cancel 屬性。 當 Cancel 設為 true 時,強制回應快顯已取消。