当我在WMAppManifest.xml页面中设置ActivationPolicy =“Resume”时,磁贴导航(导航URL)无法在Tombstone状态下工作,它会重新加载最后一个堆栈页面(URL)。它可以在休眠状态下正常工作,无需重新加载页面。如果不设置此属性(ActivationPolicy =“Resume”),则会在两个状态[休眠状态和逻辑删除状态]中重新加载页面。
但是,当我们设置该属性时,我们如何实现对辅助URL的导航。
请帮帮我。
答案 0 :(得分:23)
添加ActivationPolicy =“Resume”并不是让您的应用支持Fast App Resume所需的唯一步骤。我相信当你只设置一个属性时,你描述的行为是正常的。我认为有几种方法可以实现“快速应用程序恢复”,但我发现这是最简单的方法。
按照您刚才描述的方式设置激活策略,然后执行以下操作:
进入“App”类中的App.xaml.cs添加:
private bool reset
然后,您应该有一个初始化RootFrame的InitializePhoneApplication方法。加上这个:
RootFrame.Navigating += RootFrame_Navigating;
RootFrame.Navigated += RootFrame_Navigated;
然后你可以去添加这些方法:
void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
{
if (reset && e.IsCancelable && e.Uri.OriginalString == "/MainPage.xaml")
{
e.Cancel = true;
reset = false;
}
}
void RootFrame_Navigated(object sender, NavigationEventArgs e)
{
reset = e.NavigationMode == NavigationMode.Reset;
}
如果您正确实施此功能,您的应用应从您所在的最后一页继续。
答案 1 :(得分:2)
这里的问题相同。我启用了Fast App Resume的WP8应用程序。我可以将瓷砖指向我的应用中的特定页面。应用程序刚刚暂停时工作正常,但当应用程序为逻辑删除时,单击辅助磁贴与单击主磁贴具有相同的效果。
我只收到一个 NavigationMode ==返回和 Uri == / MainPage.xaml 的RootFrameNavigating事件。该应用程序然后显示我暂停应用程序之前的上一页。
我想这是这个特定场景的平台中的实际错误 - 快速应用恢复+逻辑删除应用+固定磁贴导航,我们作为开发人员无法解决。