【问题标题】:Exit application on back key press后退键退出应用程序
【发布时间】:2013-03-06 00:03:46
【问题描述】:

我在我的应用程序中浏览不同的页面。有时我来到我的主页并通过按后退按钮我想在主页时退出我的应用程序,但每次我按下后退按钮它都会转到上一页。我成功取消了覆盖应用程序 backkeypress 属性的导航。

protected override void OnBackKeyPress(CancelEventArgs e)
    {
        base.OnBackKeyPress(e);
         e.cancel = true;
   }

有没有类似的退出方式?

【问题讨论】:

标签: windows-phone-7


【解决方案1】:

AFAIK - 没有 API 可以退出您的应用。它应该只由用户完成,而且这样做是正确的,因为以非标准方式退出的应用程序会使用户感到困惑。我认为退出您的应用的唯一方法是获取未处理的异常,但如果您将其作为一项功能 - 您的应用可能无法通过认证。

【讨论】:

  • 我没有具体解决问题。所以我在后键按下时创建了一个随机异常并退出了我的应用程序。如果有任何替代答案,请指定。谢谢!!
  • 如果应用程序意外退出(例如出现异常!),您的应用程序将不会通过市场认证
  • 让我重复一遍 - 你可以解决它,但除非测试没有检测到它 - 如果你以编程方式退出应用程序,你的应用程序将无法通过认证。如果您想在主页中退出应用程序 - 使主页成为您启动应用程序时的第一页。除了让用户使用后退按钮通过后退堆栈返回之外,没有其他方法可以到达您的主页,并且您的应用程序中应该没有按钮可以跳过后退堆栈。如果你真的必须 - 寻找非线性导航样本回家。
【解决方案2】:

只需删除 e.cancel = true;然后再试一次

【讨论】:

    【解决方案3】:
            this.NavigationService.RemoveBackEntry();
            base.OnBackKeyPress(e);
            e.Cancel = false;
    

    【讨论】:

    • 请您在您的帖子中添加一些代码解释。