从OnResume()导航到默认页面



在Xamarin表单中,OnResume事件处理程序位于Application类上,而Application类不是NavigationPage,因此不能在OnResume中进行任何导航。当我的应用程序恢复运行时,如果它已经睡眠超过30分钟,我希望它回到主页,而不是恢复到它睡觉的页面。我在OnResume中有30分钟的陷阱,但我不能导航。有人能建议一种方法吗?

默认情况下,在Forms应用程序中,您存储的是MainPage,在本例中应该是NavigationPage

public class App : Application
{
    public App ()
    {
        // The root page of your application
        MainPage = new NavigationPage {

因此,您可以使用它来获取Navigation对象。

protected override async void OnResume ()
{
    var nav = MainPage.Navigation;
    // you may want to clear the stack (history)
    await nav.PopToRootAsync (true);
    // then open the needed page (I'm guessing a login page)
    await nav.PushAsync(new LoginPage());
}

尝试更新你的OnResume方法,如下所示:

protected async override void OnResume ()
{
    await MainPage.Navigation.PopToRootAsync (true);
}

相关内容

  • 没有找到相关文章

最新更新