当没有附加到调试器时,快速应用程序恢复在WP8.1上崩溃

时间:2014-10-16 08:28:10

标签: windows-phone-8.1

我正在使用MVVM Light开发WP8.1应用程序。默认情况下会激活快速应用恢复,这很棒,因为我想将其包含在应用中。

当应用程序从visual studio启动时,它可以正常工作。但是,当应用程序直接在设备上启动时会出现问题。以下方案导致崩溃:

  1. 从设备开始菜单启动应用
  2. 退出应用程序(使用Windows按钮)
  3. 通过后退按钮或开始菜单中的图标返回应用程序。
  4. 在第3步,应用程序崩溃,没有任何错误消息。

    P.S。我正在测试Lumia 1520

    祝你好运, 汤姆

1 个答案:

答案 0 :(得分:0)

在App.xaml.cs中,添加以下代码:

private bool reset;

private void InitializePhoneApplication()
{
    if (phoneApplicationInitialized)
     return;

    RootFrame.Navigating += RootFrame_Navigating;

    RootFrame.Navigated += RootFrame_Navigated;
} 

void RootFrame_Navigated(object sender, NavigationEventArgs e)
{
    reset = (e.NavigationMode == NavigationMode.Reset);
}

void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
{
    if (reset && e.IsCancelable && e.Uri.OriginalString == "/XXXX.xaml")
    {
        e.Cancel = true;
        reset = false;
    }
}

在您的WMAppManifest.xml中,添加以下代码:

<Tasks>
  <DefaultTask Name="_default" NavigationPage="XXXX.xaml" ActivationPolicy="Resume" />
</Tasks>