Xamarin Forms: Prism MVVM: Android: переход на определенную страницу при нажатии на Push-уведомление - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь реализовать базовый пример push-уведомлений, используя
Формы Xamarin с Призмой MVVM, Azure & FCM .

Я получаю уведомление, но не могу перейти на определенную страницу при нажатии на уведомление.

Попытка базовой функциональности, когда приложение работает или в фоновом режиме (не закрыт).

При нажатии на уведомление необходимо перейти к главной странице, как показано в приведенном ниже коде).

Он вызывает 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 голосов
/ 26 марта 2019

Обновлено сообщение с ответом.
Я не очень уверен в ответе (любые побочные эффекты), но это работает !!!
Благодаря stackoverflow post

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...