快速应用程序恢复Windows Phone 8中的问题

时间:2013-01-16 05:55:16

标签: windows-phone-8 windows-phone

当我在WMAppManifest.xml页面中设置ActivationPolicy =“Resume”时,磁贴导航(导航URL)无法在Tombstone状态下工作,它会重新加载最后一个堆栈页面(URL)。它可以在休眠状态下正常工作,无需重新加载页面。如果不设置此属性(ActivationPolicy =“Resume”),则会在两个状态[休眠状态和逻辑删除状态]中重新加载页面。

但是,当我们设置该属性时,我们如何实现对辅助URL的导航。

请帮帮我。

2 个答案:

答案 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事件。该应用程序然后显示我暂停应用程序之前的上一页。

我想这是这个特定场景的平台中的实际错误 - 快速应用恢复+逻辑删除应用+固定磁贴导航,我们作为开发人员无法解决。