从OnResume()导航到默认页面

Ric*_*Ric 4 onresume xamarin xamarin.forms

在Xamarin表单中,OnResume事件处理程序位于Application类上,该类不是NavigationPage,因此您无法在OnResume中执行任何导航.当我的应用程序恢复时,如果它已经睡了超过30分钟,我希望它回到它的主页,而不是恢复到它进入睡眠状态的页面.我在OnResume中有30分钟的陷阱,但我无法进行导航.任何人都可以提出这样做​​的方法吗?

Ben*_*non 9

默认情况下,在Forms应用程序中,您将存储在这种情况下MainPage应该是a 的那个NavigationPage.

public class App : Application
{
    public App ()
    {
        // The root page of your application
        MainPage = new NavigationPage {
Run Code Online (Sandbox Code Playgroud)

所以你可以用它来到达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());
}
Run Code Online (Sandbox Code Playgroud)