【问题标题】:How to exit Windows Phone App without back [duplicate]如何在没有返回的情况下退出 Windows Phone App [重复]
【发布时间】:2012-05-27 17:16:44
【问题描述】:

可能重复:
Close a WP7 application programatically?

我想向我的用户表明他需要 Internet 连接才能使用 MessageBox 的应用程序。当他单击确定时,我喜欢在不使用 BackButton 的情况下退出应用程序 这是代码

try
        {
            response = (HttpWebResponse)request.EndGetResponse(asyncResult);
        }
        catch (Exception e)
        {

            System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() =>
            {
                MessageBoxResult m = MessageBox.Show("Потребна е Интернет конекција");
               if (m == MessageBoxResult.OK)
               {
                   while (NavigationService.BackStack.Any())
                      NavigationService.RemoveBackEntry();
                    //base.OnBackKeyPress(new System.ComponentModel.CancelEventArgs());
                   NavigationService.GoBack();
                }



            });


        }

但是,应用程序没有退出它正在尝试连接到网络服务

谢谢

【问题讨论】:

    标签: windows-phone-7 exit


    【解决方案1】:

    正如@willmel 所提到的,您的用户体验与Windows Phone 的不符。微软的 Peter Torr 有一个很好的,如果有点老,blog post 说明为什么这是一个坏主意(从用户体验的角度来看)以及如何设计你的界面,以便不必以编程方式退出应用程序。

    【讨论】:

      【解决方案2】:

      应用不能以编程方式关闭,也不会通过认证。您需要重新考虑您的用户体验。

      例如,您可以提示相同的消息,并禁用应用程序的所有控件,以便用户通过返回按钮自行离开应用程序。

      此外,保留MessageBoxResult.None,这是按硬件后退按钮关闭对话框的结果。 (看起来您没有在代码中处理它)

      【讨论】:

      • 应用程序可以在程序中关闭。 XNA 有 exit 方法,在 Silverlight 中你可以抛出异常,正如你所提到的,它不会通过证书。
      • 关于 XNA 的好点...我将 XNA 分为“游戏”而不是“应用程序”,因为它们有不同的市场认证要求。
      【解决方案3】:

      我不建议您依赖捕获错误来执行您正在尝试执行的操作。你会有很多误报。手机有一个 API 来确定网络是否可用。在您的 MainPage.xaml.cs 中执行以下操作:

      protected override void OnNavigatedTo(NavigationEventArgs e)
      {
          base.OnNavigatedTo(e);
      
          if (DeviceNetworkInformation.IsNetworkAvailable == false)
          {
              MessageBox.Show("No network! Try again later.");
          }
          else
          {
              // Logic that would happen if they had connection, maybe you show controls 
              // here that might not be displayed w/o a connection
          }
      }
      

      【讨论】:

      • 我对用户从消息框中单击“确定”按钮的那一刻很感兴趣。我想退出应用程序,但应用程序仍在尝试连接到网络服务
      • 我明白了。我的建议是不要那样做。相反,当用户导航到页面 (MainPage) 并告诉他们没有连接时,检查网络连接。允许他们之后退出应用程序,或者如果您有登录屏幕,则将他们发送到登录屏幕。不要将它们发送出应用程序。不建议这样做。
      猜你喜欢
      • 2010-11-14
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 2021-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-26
      相关资源
      最近更新 更多