Xamarin形式:原始MVVM:Android:单击“推送通知”时导航到特定页面

时间:2019-03-23 06:17:35

标签: xamarin.forms push-notification xamarin.android firebase-cloud-messaging prism

我正在尝试使用
实现一个基本的推送通知示例 带有Prism MVVM,Azure和FCM的Xamarin表单

我正在接收通知,但是单击通知时无法导航到特定页面。

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

单击通知时,需要导航到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;
}

任何提示,请...!

已更新。...答案

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>();
}

1 个答案:

答案 0 :(得分:0)

用答案更新了帖子。
我不确定答案(有没有副作用),但是可以用!!!
谢谢 stackoverflow post