我正在使用以下代码检查应用程序开头的网络访问
public async void CheckNetwork()
{
if (!NetworkAvailabilty.Instance.IsNetworkAvailable)
{
MessageDialog Message = new MessageDialog("Network access not available.", "Network Error");
Message.Commands.Add(new UICommand("Close"));
await Message.ShowAsync();
Application.Current.Exit();
}
}
这在Windows 10桌面中按预期工作。但是当我在手机中运行应用程序时,它无法关闭应用程序。可能是什么原因以及如何强制关闭我的应用程序?
答案 0 :(得分:1)
尝试Application.Current.Terminate()而不是Exit()
答案 1 :(得分:1)
作为设计原则,您不应该手动关闭应用。请参阅this link(针对WP8开发人员,但仍然有效)。 但是,如果您正在为自己开发测试应用程序,则可以抛出异常,这是关闭应用程序的唯一方法。
throw new Exception();
如果您的目标是在市场上发布您的应用,请不要这样做:
您应用中的未处理异常会在用户的手机和Windows Phone服务器上不必要地消耗资源。 手机会为未处理的异常生成并上传故障转储,以帮助您查找和修复代码中的错误。使您的应用程序崩溃以关闭它会浪费用户的电池电量和网络带宽。
答案 2 :(得分:1)
尝试执行ApplicationView.GetForCurrentView().TryConsolidateAsync()
。