应用程序打开时如何更新徽章计数?

时间:2018-06-11 13:36:42

标签: xamarin xamarin.forms xamarin.android

我正在使用BottomNavigationBar插件,它运行正常。

我的问题是我想在应用程序处于运行模式(即打开)时收到通知时更新徽章计数。我正在使用Setting Plugin来表示Xamarin并存储计数。在应用程序初始化它正确显示计数。但是当我的应用程序打开时,我正在更改设置的值并立即更改徽章的值。怎么可能?

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。

首先,如果您使用的是Xamarin表单,则可以使用MessagingCenter。它是跨平台的Event Bus实现。

我使用了Xamarin.Form。发送消息的示例

    public MainPage()
    {
        InitializeComponent();
        var count = 0;
        _button.Clicked += (sender, args) =>
        {
            MessagingCenter.Send<MainPage, int>(this, "MyMessage", count++);
        };
    }

接收者的例子

    public App()
    {
        InitializeComponent();

        var mp = new MainPage();
        MainPage = new MainPage();

        MessagingCenter.Subscribe<MainPage, int>(this, "MyMessage", (sender, arg) => {
            MainPage.DisplayAlert("MyMessage", $"Hit Count: {arg}", "ok");
        });

    }

如果您选中Link

,还有更多信息和示例

其次,将事件添加到您的设置类,并在您的设置器

中调用它