C# 推送通知图标显示灰色

C# 推送通知图标显示灰色,c#,android,firebase,xamarin,xamarin.android,C#,Android,Firebase,Xamarin,Xamarin.android,在我的应用程序Firebase推送通知中,未正确显示图标,它在通知中显示总的灰色图标。 用于实现通知的代码I var notificationBuilder = new Notification.Builder(this) .SetSmallIcon(Resource.Drawable.ic_launcherLmg) .SetContentTitle(user.Organization) .SetSubText(user.ModuleName) .SetContentText(user.Body

在我的应用程序Firebase推送通知中,未正确显示图标,它在通知中显示总的灰色图标。 用于实现通知的代码I

var notificationBuilder = new Notification.Builder(this)
.SetSmallIcon(Resource.Drawable.ic_launcherLmg)
.SetContentTitle(user.Organization)
.SetSubText(user.ModuleName)
.SetContentText(user.BodyText)
.SetAutoCancel(true)
.SetContentIntent(pendingIntent)
.Build();
我正在设置图标
SetSmallIcon(Resource.Drawable.ic\u launchermg)
行。 ic_launcherLmg图标可在以下文件夹中找到,其中包含给定尺寸

  • 可拉伸idpi-36x36
  • 可拉伸mdpi-48x48
  • 可拉伸hdpi-72x72
  • 可拉伸xhdpi-96x96
  • 应用程序针对最高的8.1 API。 最小5.0 API

    推送通知截图

    您可以使用

    使用mipmap图标而不是可绘制图标,并将其放入xxxhdpi mipmap文件夹中。如果背景为白色,图标将自动调整其颜色

    像android版本一样使用通知图标

    .SetSmallIcon(getNotificationIcon())
    
    并且函数是可更改的,或者根据需要进行更改

    private int getNotificationIcon() {
        boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP);
        return useWhiteIcon ? R.drawable.icon_silhouette : R.drawable.ic_launcher;
    }
    
    你可以用

    使用mipmap图标而不是可绘制图标,并将其放入xxxhdpi mipmap文件夹中。如果背景为白色,图标将自动调整其颜色

    像android版本一样使用通知图标

    .SetSmallIcon(getNotificationIcon())
    
    并且函数是可更改的,或者根据需要进行更改

    private int getNotificationIcon() {
        boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP);
        return useWhiteIcon ? R.drawable.icon_silhouette : R.drawable.ic_launcher;
    }
    

    可能您的图标没有在背景fcm推送时显示?因此,您需要将此内部应用程序标记放入清单中,如下所述:

    
    
    Android为未明确设置通知图标的所有通知消息显示此自定义默认图标


    可能您的图标没有在背景fcm推送时显示?因此,您需要将此内部应用程序标记放入清单中,如下所述:

    
    
    Android为未明确设置通知图标的所有通知消息显示此自定义默认图标


    最后通过改变图标的颜色解决了这个问题。无论通知图标的内容是什么,我们希望显示的内容应该是灰色的,图标的背景应该是白色的。示例图像

    我没有注意到尺寸问题,但首选尺寸应为

    • mdpi(160 dpi)24 x 24像素
    • hdpi(240 dpi)36 x 36像素
    • xhdpi(320 dpi)48 x 48像素
    • xxhdpi(400 dpi)60 x 60像素

    通过改变图标的颜色,最终解决了这个问题。无论通知图标的内容是什么,我们希望显示的内容应该是灰色的,图标的背景应该是白色的。示例图像

    我没有注意到尺寸问题,但首选尺寸应为

    • mdpi(160 dpi)24 x 24像素
    • hdpi(240 dpi)36 x 36像素
    • xhdpi(320 dpi)48 x 48像素
    • xxhdpi(400 dpi)60 x 60像素

    这只是一个图标,这就是我说“随你所愿更改”的原因。在这种情况下,你的图标表现得和android版本一样好。我尝试了你的代码,但没有解决我的问题。谢谢你的回答。这只是一个图标,这就是为什么我说,改变它,因为你想在这种情况下,你的图标的行为以及安卓版本我尝试了你的代码,但它没有解决我的问题。感谢您的回复。我的通知中仍然没有显示此图标。还需要什么?图标仍然没有显示在我的通知上。还需要什么?