封闭/后台应用程序模式下的FCM更新BadgeNumber

时间:2018-04-24 09:03:05

标签: android firebase xamarin xamarin.android firebase-cloud-messaging

我正在使用ShortcutBadger NuGet来提醒我的应用 Xamarin.Android 未处理的通知数量。所以实现很简单:

 ShortcutBadger.ApplyCount(this, _UnreadNotifCount); 

我已经在OnMessageReceived方法中实现了(我使用FireBase通知):

public override void OnMessageReceived(RemoteMessage message)
        {
            ShortcutBadger.ApplyCount(this, 6);

            SendNotification(message.GetNotification().Body, message.Data);
        }

仅在打开应用程序的情况下才能正常工作,当我在关闭/后台应用程序模式中收到通知时,它不起作用!

您是否有任何建议在何处/如何更新已关闭/后台应用程序模式的徽章编号?

1 个答案:

答案 0 :(得分:2)

如果您的应用程序处于后台或终止状态,更新徽章计数的最佳方法是使用HandleIntent方法

在您的消息传递服务类中,继承自以下内容:FirebaseMessagingService

覆盖句柄意图方法,如下所示:

  public override void HandleIntent(Intent p0)
    {
      ShortcutBadger.ApplyCount(this,your_count);
      base.HandleIntent(intent);
    }

注意:在某些情况下,此功能也会在可能影响您的点数的前景通知中调用。

如有任何问题,请退回。

古德勒克!