Как использовать 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")
Другие вопросы по тегам