Xamarin.forms 如何在xamarin forms应用程序中的app.xaml.cs for mvvm中调用on resume时导航到页面

Xamarin.forms 如何在xamarin forms应用程序中的app.xaml.cs for mvvm中调用on resume时导航到页面,xamarin.forms,navigation,prism,Xamarin.forms,Navigation,Prism,我对导航有问题。当我点击设备的主屏幕按钮并返回应用程序时,我会看到应用程序主屏幕而不是pin页面。理想情况下,它应该显示引脚页和它的工作与设备的后退按钮罚款。 OnStart()方法具有NavigationSync,但OnResume()方法不具有相同功能。 我是否必须转到每个平台项目cs文件并在其中添加导航,如Android OnRestart()/OnResume()方法? 如果有人知道解决方案,请让我知道使用Prism编写Xamarin应用程序时最常见的方法是: protected ove

我对导航有问题。当我点击设备的主屏幕按钮并返回应用程序时,我会看到应用程序主屏幕而不是pin页面。理想情况下,它应该显示引脚页和它的工作与设备的后退按钮罚款。 OnStart()方法具有NavigationSync,但OnResume()方法不具有相同功能。 我是否必须转到每个平台项目cs文件并在其中添加导航,如Android OnRestart()/OnResume()方法?
如果有人知道解决方案,请让我知道使用Prism编写Xamarin应用程序时最常见的方法是:

protected override void OnInitialized()
{
    NavigationService.NavigateAsync("SomePage");
}
每次调用应用程序的ctor时都会调用OnInitialized。这是一个重要的注意事项,因为这意味着本机平台在后台删除应用程序,或通过在MainActivity中调用OnCreate或在AppDelegate中完成启动来刷新应用程序,然后将调用OnInitialized,将应用程序的导航堆栈重置为
SomePage

但是,您可以覆盖PrismApplication中的OnStart/OnResume,并使用您需要的任何业务逻辑来确定导航位置和恢复应用程序的方式

public override void OnStart()
{
    NavigationService.NavigateAsync("MainPage");
}

public override void OnResume()
{
    if(someCondition)
    {
        NavigationService.NavigateAsync("SomePage");
    }
    else
    {
        NavigationService.NavigateAsync("AnotherPage");
    }
}