7

当我在 WMAppManifest.xml 页面磁贴导航(导航 URL)中设置 ActivationPolicy="Resume" 在 Tombstone 状态下不起作用时,它会重新加载最后一个返回堆栈页面(URL)。它适用于休眠状态,无需重新加载页面。如果不设置此属性 (ActivationPolicy="Resume"),它将在两种状态 [休眠状态和墓碑状态] 中重新加载页面。

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

请帮我 。

4

2 回答 2

23

添加 ActivationPolicy="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;
}

如果您正确实施此操作,您的应用程序应该从您所在的最后一页恢复。

于 2013-01-16T15:58:45.953 回答
2

这里同样的问题。我得到了启用了快速应用恢复的 WP8 应用程序。我可以在我的应用程序中固定指向特定页面的磁贴。当应用程序只是暂停时它工作正常,但是当应用程序被墓碑时,然后单击辅助磁贴与单击主磁贴具有相同的效果。

我只收到一个带有NavigationMode == BackUri == /MainPage.xaml的 RootFrameNavigating 事件。然后,该应用程序会显示在我暂停该应用程序之前存在的上一页。

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

于 2013-03-15T09:41:48.617 回答