Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 8 如何在windows phone中解锁手机后导航到其他页面_Windows Phone 8_Locking - Fatal编程技术网

Windows phone 8 如何在windows phone中解锁手机后导航到其他页面

Windows phone 8 如何在windows phone中解锁手机后导航到其他页面,windows-phone-8,locking,Windows Phone 8,Locking,我的应用程序中有自动注销场景。其中,我需要注销并在20分钟后导航到登录页面。当应用程序位于前台时,它可以正常工作。但是,如果它被锁定和解锁,它将不工作 有谁能告诉我,当用户锁定手机或切换到另一个应用程序时,如何停止重置前一页,并在wp8应用程序中导航到不同的页面???当用户锁定手机或切换到另一个应用程序时,您的应用程序执行应用程序被禁用,当它返回前台时,它执行应用程序被激活(在您的应用程序类中) 您可以在Application\u Deactivated中保存上次激活时间,并在Applicati

我的应用程序中有自动注销场景。其中,我需要注销并在20分钟后导航到登录页面。当应用程序位于前台时,它可以正常工作。但是,如果它被锁定和解锁,它将不工作


有谁能告诉我,当用户锁定手机或切换到另一个应用程序时,如何停止重置前一页,并在wp8应用程序中导航到不同的页面???

当用户锁定手机或切换到另一个应用程序时,您的应用程序执行<代码>应用程序被禁用,当它返回前台时,它执行<代码>应用程序被激活(在您的<代码>应用程序类中)

您可以在
Application\u Deactivated
中保存上次激活时间,并在
Application\u Activated
中检查是否是20分钟后

编辑:要在激活的
应用程序中导航,可以使用以下代码:

private void Application_Activated(object sender, ActivatedEventArgs e)
{
    RootFrame.Navigated += RootFrame_Navigated;
}

void RootFrame_Navigated(object sender, NavigationEventArgs e)
{
    RootFrame.Navigated -= RootFrame_Navigated;
    RootFrame.Navigate(new Uri("/TestPage.xaml", UriKind.Relative));
}

您可以为此使用
App.RootFrame
无障碍事件。在MainPage.xaml中像这样附加事件处理程序

App.RootFrame.Unobscured += RootFrame_Unobscured;
并在事件处理程序中导航到该页面

 void RootFrame_Unobscured(object sender, EventArgs e)
 {
     NavigationService.Navigate(new Uri("/TestPage.xaml", UriKind.Relative));
 }   

对你说得对。目前,我正在按照你所描述的那样做。但是,问题是,20分钟后,我无法从激活的应用程序导航到登录页面。手机解锁并导航到上一页(登录页)后,应用程序试图重置导航。当我尝试从激活的应用程序导航时,我遇到InvalidOperationException。@user3730360抱歉,我刚刚找到它,经过一些测试,您可以在编辑的主答案中使用代码。谢谢回答。我按照你的建议试过了。它正在导航到不同的页面。但是,解除锁定设备后,它首先导航到上一页,然后导航到TestPage.xaml。但是,我知道会话是timedout,我不想导航到上一页。我想直接导航到TestPage.xaml。是否可以取消/覆盖应用程序激活事件中发生的导航?我得到以下异常。如果尝试从应用程序导航,激活事件:{System.InvalidOperationException:当任务不在前台时,不允许导航。在System.Windows.Navigation.NavigationService.navigate(Uri源)我已经尝试使用RootFrame\u unobscurred事件。即使RootFrame\u unobscurred在加载上一页后也可以工作。但是,如果会话超时,我不想加载上一页。