来自AppDelegate的Xamarin.Forms(iOS)MessagingCenter消息未传递

时间:2018-11-30 17:48:51

标签: xamarin.forms xamarin.ios messagingcenter

我的下一个目标是:我的应用程序收到推送通知(FCM),并且需要在所有可能的情况下使用它们来处理用户操作。

  • 当我收到前台推送并在 WillPresentNotification 中进行处理时,一切正常。
  • 当我将应用程序发送到后台模式(单击“主页”按钮)并收到推送时,请在通知中心单击该推送,我在 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滑下),然后单击收到的推送-它只会发送一条消息(来自上面的代码),但永远不会到达放置在订阅者内部的代码根页面。

有什么问题的想法吗?

谢谢!

0 个答案:

没有答案