Как использовать Xamarin.Forms MessagingCenter, не привязав его к пользовательскому интерфейсу?
У меня есть длительное задание, о котором нужно уведомлять пользователя с помощью сообщений типа тоста. Тем не менее, пользователь может свободно перемещаться по приложению.
Глядя на https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/messaging-center/, видно, что необходимо привязать UI к нему для работы?
MessagingCenter.Subscribe<MainPage> (this, "Hi", (sender) => {
// do something whenever the "Hi" message is sent
});
MessagingCenter.Send<MainPage> (this, "Hi")
Мне нужно отправлять уведомления в фоновом режиме, и я не знаю оттуда, кто.
2 ответа
Вы можете подписаться на сообщение в вашем App.xaml.cs
(или же App.cs
) учебный класс. Затем просто отправьте сообщение откуда угодно, и делегат подписчика будет запущен.
Если вы посмотрите, его не нужно привязывать к пользовательскому интерфейсу, а просто к объекту, который является подписчиком. так что вы можете просто сойти с установки подписчика на "это" в коде.
Чтобы получить что-то, вы можете использовать это без.
MessagingCenter.Subscribe(this, "Hi", (sender) =>
{
// do something whenever the "Hi" message is sent
});
Чтобы отправить что-то, вы можете использовать это.
MessagingCenter.Send<MainPage> (this, "Hi")