Windows 8 XAML/C# アプリを作成していますが、セッション マネージャーに少し問題があります。
App.xaml.cs 内では、OnSuspending メソッドは次のようになります。
private async void OnSuspending(object sender, SuspendingEventArgs e)
{
var deferral = e.SuspendingOperation.GetDeferral();
//TODO: Save application state and stop any background activity
await SuspensionManager.SaveAsync();
deferral.Complete();
}
App.xaml.cs の OnLaunched メソッドで SuspensionManager を使用して rootFrame を登録しました。
SuspensionManager.RegisterFrame(rootFrame, "AppFrame");
そのため、アプリの最初のページで、SaveState メソッドをオーバーライドしました。次のようになります。
protected override void SaveState(Dictionary<string, object> pageState)
{
Save(true);
base.SaveState(pageState);
}
アプリケーションが中断されると、このメソッドが呼び出され、すべて正常に動作します。
最初のページと同じ SaveState メソッドを持つ 2 番目のページがあります (上記のように)。
最初のページから 2 番目のページに移動してアプリケーションを一時停止すると、どちらの SaveState メソッドも呼び出されず、次のエラーでアプリケーションがクラッシュします。
SuspensionManager が失敗しました: 不明なエラー
素晴らしい!!あまり情報がありません!!
では、複数のページを持つ SuspensionManager で何か違うことをする必要がありますか?
前もって感謝します