在某些Android设备上没有显示Headsup通知和标志?

时间:2019-04-09 06:30:58

标签: c# xamarin.forms xamarin.android xamarin.ios

如何在Xamarin形式的android中显示抬头通知和徽章,我正在使用Firebase推送通知。它在Redmi 6 pro等某些设备中显示抬头通知和徽章计数...,我已经尝试过此链接来实现推送通知:-https://github.com/CrossGeeks/FirebasePushNotificationPlugin 。我的JSON有效负载就是这样。

{
"to":"push-token",
"priority": "high",
"notification": {
        "title": "Test",
        "body": "Mary sent you a message!",
        "sound": "default",
        "icon": "youriconname"
                }
 }

当应用程序处于终止状态而应用程序处于后台时,它在iOS中工作正常,而当应用程序打开时却无法正常工作。

如何执行此操作,请帮助我...

1 个答案:

答案 0 :(得分:0)

我想原因是您在“活动”中没有定义通知渠道。

MainActivity.cs中,您可以在onCreate方法中调用此方法:

void CreateNotificationChannel()
    {
        if (Build.VERSION.SdkInt < BuildVersionCodes.O)
        {
            // Notification channels are new in API 26 (and not a part of the
            // support library). There is no need to create a notification 
            // channel on older versions of Android.
            return;
        }

        var channel = new NotificationChannel(CHANNEL_ID, "FCM Notifications", NotificationImportance.Default)
                      {
                          Description = "**Description**"
                      };

        var notificationManager = (NotificationManager) GetSystemService(NotificationService);
        notificationManager.CreateNotificationChannel(channel);
    }

哪里

    internal static readonly string CHANNEL_ID = "my_notification_channel";
    internal static readonly int NOTIFICATION_ID = 100; 

分别是频道ID和通知ID的定义。

在加载XF之后在MainActivity的OnCreate中调用此命令:

LoadApplication(new App());
CreateNotificationChannel();

祝你好运

查询时还原