[Windows 8]生命週期事件處理-----應用激活

[Windows 8]生命週期事件處理-----應用激活

 

當終止的應用被激活時,會收到Activated 事件,應用重新啟動

在應用程式啟動時會呼叫 InLaunched 方法,可以使用此方法來處理應用的激活

在方法中檢查PreviousExecutionState 的值,如果 PreviousExecutionState 的值為 Terminated

應用會加載之前所儲存的應用數據

使用 SuspensionManager 類別的 RestoreAsync 方法還原應用的導航狀態

如果 PreviousExecutionState 為其他的值,應用會加載預設的數據

OnLaunched 方法的程式碼如下:


async protected override void OnLaunched(LaunchActivatedEventArgs args)
        {
            if (args.PreviousExecutionState == ApplicationExecutionState.Running)
            {
                Windows.Current.Active();
                return;
            }

            var rootFrame = new Frame();

            SuspensionManager.RegisterFrame(rootFrame, "appFrame");

            if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
            {
                await SuspensionManager.RestoreAsync();
            }

            if (!rootFrame.Navigate(typeof(MainPage)))
            {
                throw new Exception("Fail to create initial page");
            }
            Windows.Current.Content = rootFrame;
            Windows.Current.Active()
        }