xamarin.forms通知点击并从app.xaml.cs导航

xamarin.forms通知点击并从app.xaml.cs导航,xamarin.forms,Xamarin.forms,我有一个xamarin.forms应用程序,我在其中使用Plugin.LocalNotification在android和ios中生成本地推送通知。通知工作正常。问题是,在android和ios中点击通知时,我想打开一个共享屏幕。我根据文档完成了点击 在我的App.xamal.cs中 public App() { InitializeComponent(); Application.Current.MainPage = new

我有一个xamarin.forms应用程序,我在其中使用Plugin.LocalNotification在android和ios中生成本地推送通知。通知工作正常。问题是,在android和ios中点击通知时,我想打开一个共享屏幕。我根据文档完成了点击

在我的App.xamal.cs中

    public App()
            {
                InitializeComponent();

 Application.Current.MainPage = new NavigationPage(new LandingPage());
                NotificationCenter.Current.NotificationTapped += OnLocalNotificationTapped;                  
            }

            private void OnLocalNotificationTapped(NotificationTappedEventArgs e)

            {          

                        MainPage = new NavigationPage(new SECLandingScreen(Isnotification));
                        ((NavigationPage)MainPage).BarBackgroundColor = Color.FromHex("#19110F");
                        ((NavigationPage)MainPage).BarTextColor = Color.Snow;               
                }
            }
我的问题


点击通知时,我可以导航到通知屏幕。但我不能通过按“后退”按钮导航到上一个屏幕。在任何屏幕上单击通知并在后退时导航到上一个屏幕的导航应该如何进行?

如果主页已经是NavigationPage的实例,如果是,则使用它来推送异步新页面

var nav = (NavigationPage)MainPage;

if (nav != null) 
{
  nav.PushAsync(new SECLandingScreen(Isnotification));
}

您需要获取对当前导航堆栈的引用,并将新页面推送到当前导航堆栈上,而不是将新值分配给MainPage(这将删除以前的任何导航)it@Jason你能给我一些片段吗?检查MainPage是否已经是NavigationPage的实例,如果是这样,则使用它来推送异步新的page@Jason对于启动时的正常导航,我使用Application.Current.MainPage=new-NavigationPage(new-LandingPage());