Xamarin表单:Prism MVVM:Android:单击推送通知时导航到特定页面

问题描述 投票:0回答:1

我正在尝试使用基本推送通知示例 Xamarin与Prism MVVM,Azure和FCM一起使用。

我收到通知,但在点击通知时无法导航到特定页面。

在应用程序运行时或在后台(未关闭)时尝试基本功能。

单击通知时,需要导航到MainPage,如下面的代码所示)。

它正在调用MainPage,但是没有初始化ViewModel(MainPageViewModel)。

我不太确定,这是从Android项目导航的正确方法。

类似的代码在iOS中运行良好。

protected override void OnNewIntent(Intent intent)
{
     base.OnNewIntent(intent);
     Intent = intent;
     var page = new NavigationPage(new MainPage());
     Prism.PrismApplicationBase.Current.MainPage = page;
}

任何提示,请......!

Updated.... Answer

protected override void OnNewIntent(Intent intent)
{
     base.OnNewIntent(intent);
     Intent = intent;

     //var page = new NavigationPage(new MainPage());
     //Prism.PrismApplicationBase.Current.MainPage = page;

     var container = (App.Current as Prism.Unity.PrismApplication).Container;
     var navigationService = container.Resolve<INavigationService>();
     navigationService.NavigateAsync("/NavigationPage/MainPage");
}

并在App.xaml.cs文件中添加以下注册

protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
    containerRegistry.Register<Prism.Navigation.INavigationService, 
    Prism.Navigation.PageNavigationService>();
}
xamarin.forms push-notification xamarin.android firebase-cloud-messaging prism
1个回答
0
投票

用答案更新了帖子。 我不是很确定答案(任何副作用),但它的确有效! 感谢stackoverflow post

© www.soinside.com 2019 - 2024. All rights reserved.