Xamarin.Forms (iOS) Сообщение MessagingCenter от AppDelegate не доставляется - PullRequest
0 голосов
/ 30 ноября 2018

У меня следующая цель: мое приложение получает push-уведомления (FCM), и мне нужно обрабатывать пользовательские манипуляции с ними во всех возможных сценариях.

  • Когда я получаю push-уведомление переднего плана и обрабатываю его в WillPresentNotification - все работает, как и ожидалось.
  • Когда я отправляю приложение в фоновый режим (нажимая кнопку «Домой») и получаю push, нажимаю на этот push в Центре уведомлений. У меня следующий код в DidReceiveNotificationResponse метод:

     MessagingCenter.Send<object, PushNotificationObject>(this, "PushNavigationToRootPage", push);
    

Таким образом, он просто отправляет сообщение в RootPage, которое подписано / отписано, как показано ниже:

protected override void OnAppearing()
{
   base.OnAppearing();
   MessagingCenter.Unsubscribe<object, PushNotificationObject>(this, "PushNavigationToRootPage");
   MessagingCenter.Subscribe<object, PushNotificationObject>(this, "PushNavigationToRootPage", (sender, _push) => { ... });
}
protected override void OnDisappearing()
{
   MessagingCenter.Unsubscribe<object, PushNotificationObject>(this, "PushNavigationToRootPage");
   base.OnDisappearing();
}
enter code here

Это тоже работает!НО!

  • Если я полностью закрою приложение (проведу пальцем по нему из App Switcher) и затем нажму на полученное нажатие - оно только отправит сообщение (из кода выше), ноникогда не достигнет кода, который находится внутри Subscribe of RootPage.

Есть идеи, что не так?

Заранее спасибо!

...