[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()
}