WP8.1下快速应用程序恢复在未连接调试器时崩溃

3
我正在使用MVVM Light开发一个WP8.1应用程序。默认情况下启用了"快速应用程序恢复"功能,这非常棒,因为我想在应用程序中包含它。
当应用程序从Visual Studio启动时,该功能按预期工作。但是,当应用直接在设备上启动时,会出现问题。以下情况导致应用程序崩溃:
1. 从设备的开始菜单启动应用程序 2. 退出应用程序(使用Windows按钮) 3. 通过返回按钮或开始菜单中的图标回到应用程序。
在第3步骤,应用程序会崩溃而没有任何错误消息。
附注:我在Lumia 1520上进行测试。
最好的问候, Tom

1
在使用Visual Studio进行调试时,您是否手动暂停/恢复应用程序?除非手动触发,否则在Visual Studio中进行调试时,您的应用程序不会自动暂停。这样可以让您捕获和调试任何异常。 - Decade Moon
调试位置恢复事件不会触发onActivation事件,因此无法通过这种方式进行调试。当应用程序从协议启动时,onActivation事件将被触发。 - Vladislav
1个回答

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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接