重启/重启 UWP 应用

Posted

技术标签:

【中文标题】重启/重启 UWP 应用【英文标题】:Reboot/Restart an UWP app 【发布时间】:2018-04-11 20:14:08 【问题描述】:

我有一个 UWP 应用程序(在 Windows/Microsoft Store 中发布),我正在处理一个新的更新,我在我的应用程序中使用 Template10,它有深色和浅色主题,在 Windows 10 移动版中,但要进行更改为了有效,用户必须手动关闭应用程序并重新启动它。 是否有可能重新启动/重新启动我的应用程序?也就是说,单独/自动关闭应用程序并自动重新打开我的应用程序?

【问题讨论】:

How to restart an app in UWP?的可能重复 【参考方案1】:

在秋季创作者更新 (1709) 中,我们在 CoreApplication 上引入了一个名为 RequestRestart() 的新方法,可以启用此场景。您需要 16299 SDK(或更高版本)才能访问此 API。

https://docs.microsoft.com/en-us/uwp/api/windows.applicationmodel.core.coreapplication#Methods_

这是一个博客/示例:

https://blogs.windows.com/buildingapps/2017/07/28/restart-app-programmatically/

【讨论】:

如果我的应用程序的用户是 1709 或更高版本,我只能使用这个 RequestRestart() 选项,对吧? @FernandoSousa 对于 1709 之前的版本,我发送“重新启动应用程序”toast 通知,然后立即通过App.Current.Exit(); 退出。让用户轻松重启应用。【参考方案2】:

您可以通过CoreApplication.RequestRestart 做到这一点

 var result = await CoreApplication.RequestRestartAsync("Application Restart Programmatically ");  
  
            if (result == AppRestartFailureReason.NotInForeground ||  
                result == AppRestartFailureReason.RestartPending ||  
                result == AppRestartFailureReason.Other)  
              
                var msgBox = new MessageDialog("Restart Failed", result.ToString());  
                await msgBox.ShowAsync();  
              

【讨论】:

以上是关于重启/重启 UWP 应用的主要内容,如果未能解决你的问题,请参考以下文章

uwp - 使用资源字典实现多国语言切换(重启应用生效)

如何使用 UWP 应用重新启动 Windows PC? [复制]

win10 uwp 重启软件

UWP 代理组件重启/停止 DLL

Windows 10自带UWP应用打不开怎么办

tomcat重启相当于服务重启?