应用程序启动时处理来电崩溃

时间:2012-09-17 12:08:14

标签: windows-phone-7 crash windows-phone-7.1 lockscreen

我遇到了一个有趣的场景。它也出现在msdn论坛上的某人here

当我启动我的应用程序时,如果我锁定屏幕,或者当时在解锁或在各自的情况下断开呼叫后恢复时,应用程序崩溃,则抛出0x8000ffff错误。我观察到,当我的应用程序打开emailcomposetask时也会发生这种情况。

之前我认为那是因为我没有处理模糊和不受影响。但是现在我正在处理它们,我仍然收到同样的情况。我观察到许多其他应用程序也崩溃了,但有一些应用程序,如Facebook和Twitter,能够处理它。有没有人遇到同样的情况?能帮我解决一下吗?

我做错了吗?

另请注意,我更改了默认加载页面。它不是mainPage.xaml而是xyz.xaml,我正在检查令牌并自动将用户重定向到mainPage而不点击任何按钮。

编辑:添加了StackTrace

at Microsoft.Phone.Execution.NativeEmInterop.NotifyFullObscurityChanged(Boolean isObscured)
at Microsoft.Phone.Shell.PhoneApplicationService.OnFullObscurityChanged(Object sender, LockStateChangeEventArgs e)
at Microsoft.Phone.Shell.Interop.ShellPageManager.ShellPageCallback_OnLockStateChange(Object source, LockStateChangeEventArgs e)
at Microsoft.Phone.Shell.Interop.ShellPageCallback.FireOnLockStateChange(Boolean fLocked)`

1 个答案:

答案 0 :(得分:0)

这主要是因为OnNavigatedTo()Page_Loaded()事件处理程序中的代码。放置断点并检查这两种方法中的问题。

当您提到的案例中恢复应用时,会以相同的顺序调用这两种方法。

希望这能解决你的问题。

根据您的评论进行更新:

你有。您正在清除整个导航历史记录,因此它现在不知道去哪里(即使当前页面已被删除)。

我的建议是,将您的后退历史记录删除代码从OnNavigated移至Page_Loaded事件。