Я никогда раньше не работал с Центром сообщений и, возможно, допускаю некоторые нелепые ошибки при передаче сообщений между приложениями. Я пытаюсь отправить сообщение из Xamarin. Android в Xamarin.Forms.
Xamarin. Android код проекта:
MessagingCenter.Send(Xamarin.Forms.Application.Current, "MessageReceived", "new message");
Xamarin. Forms:
public partial class App : Application
{
public App()
{
InitializeComponent();
MainPage = (new MasterDetailPage()
{
Master = new MenuPage { Title = "Title" },
Detail = new NavigationPage(new XxmsApp.MainPage()) { BarBackgroundColor = Color.Black }
});
MessagingCenter.Subscribe<App>(
this,
"MessageReceived",
(sender) =>
{
var StartPage = (((MainPage as MasterDetailPage).Detail as NavigationPage).RootPage as XxmsApp.MainPage);
StartPage.DisplayAlert(
"message",
"message received",
"ok");
});
}
// ...
}
Но метод, указанный в качестве третьего аргумента для Subscribe<App>
, никогда не вызывается. Я также попробовал это:
Device.BeginInvokeOnMainThread(() =>
{
MessagingCenter.Send(Xamarin.Forms.Application.Current, "MessageReceived", "new message");
});
Но ничего.
Что я делаю не так?