被取消激活后的应用程序响应:错误5.2.3

时间:2012-01-17 07:34:02

标签: windows-phone-7

我最近提交了一个处理Silverlight框架的小应用程序。 但是由于错误5.2.3,我的应用程序被市场拒绝,即被停用后的应用程序响应。 我发现的是: 用户成功完成游戏(一个谜题)后,我正在向他展示一个对话框:

MessageBoxResult mr = MessageBox.Show("You have won! Do you want to start another game?", "Information", MessageBoxButton.OKCancel);
if(mr==MessageBoxResult.Cancel)
{
    NavigationService.GoBack();
}

现在重点是 - 如果用户在显示此对话框后按下开始按钮,应用程序将停止抛出异常 -
  当任务不在前台时,不允许导航。错误:-2147220990

在我看来这是一个有效的错误,虽然我不确定我的其他应用程序如何成功通过认证过程,尽管他们有相同的缺陷。我刚开始开发WP应用程序,所以我对要做的事情知之甚少。请你帮我解决一下。

1 个答案:

答案 0 :(得分:2)

这种情况看起来并不容易。看起来MessageBoxDeactivated事件被触发之前被取消,所以我无法看到测试这种状态。

我的建议是检测并吞下特定的例外:

  MessageBoxResult mr = MessageBox.Show("You have won! Do you want to start another game?", "Information", MessageBoxButton.OKCancel);
  if (mr == MessageBoxResult.Cancel)
  {
    try
    {
      NavigationService.GoBack();
    }
    catch (InvalidOperationException e)
    {
      // occurs if message box closed due to de-activation
    }
  }
相关问题