我遇到了一个有趣的场景。它也出现在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)`
答案 0 :(得分:0)
这主要是因为OnNavigatedTo()
和Page_Loaded()
事件处理程序中的代码。放置断点并检查这两种方法中的问题。
当您提到的案例中恢复应用时,会以相同的顺序调用这两种方法。
希望这能解决你的问题。
根据您的评论进行更新:
你有。您正在清除整个导航历史记录,因此它现在不知道去哪里(即使当前页面已被删除)。
我的建议是,将您的后退历史记录删除代码从OnNavigated移至Page_Loaded事件。