UWP基礎教程 - 重啟應用
阿新 • • 發佈:2022-05-04
開發過Winform應用的同學應該都知道,會有一些場景需要將應用重啟,如:重新應用配置,崩潰,記憶體洩漏等情況。這個時候我們只要使用一行程式碼就可以實現重啟。
Application.Restart()
但在之前的Windows10 UWP應用開發中,我們只能提示使用者手動重啟,這個問題一直很困惱開發者。
在16226版本之後,微軟終於實現了這個API。
AppRestartFailureReason result = await CoreApplication.RequestRestartAsync(String.Empty); if (result == AppRestartFailureReason.NotInForeground || result == AppRestartFailureReason.RestartPending || result == AppRestartFailureReason.Other) { Debug.WriteLine("RequestRestartAsync failed: {0}", result); }
使用上面的程式碼就能實現UWP APP重啟的功能,這個API還可以自定義啟動引數,只要將上述程式碼String.Empty
部分傳入對應的引數,在OnActivated
事件處進行處理即可。
protected override void OnActivated(IActivatedEventArgs args) { switch (args.Kind) { case ActivationKind.Launch: LaunchActivatedEventArgs launchArgs = args as LaunchActivatedEventArgs; string argString = launchArgs.Arguments; Frame rootFrame = Window.Current.Content as Frame; if (rootFrame == null) { rootFrame = new Frame(); Window.Current.Content = rootFrame; } rootFrame.Navigate(typeof(MainPage), argString); Window.Current.Activate(); break; } }
更詳細的內容,大家可以參考微軟官方部落格寫的How to Restart your App Programmatically