【问题标题】:Push Notifications icon displaying gray color显示灰色的推送通知图标
【发布时间】:2018-08-13 07:47:34
【问题描述】:

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

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_launcherLmg) 行。 ic_launcherLmg 图标在给定尺寸的以下文件夹中可用

  1. drawable-idpi--36x36
  2. drawable-mdpi--48x48
  3. drawable-hdpi--72x72
  4. drawable-xhdpi--96x96

以最高 8.1 API 为目标的应用。 Minimun 5.0 API。

推送通知截图

【问题讨论】:

    标签: c# android firebase xamarin xamarin.android


    【解决方案1】:

    也许您的图标没有显示背景 fcm 推送?所以你需要把这个内部应用程序标记放在清单中,如此处所述here:

    <meta-data android:name="com.google.firebase.messaging.default_notification_icon"
        android:resource="@drawable/ic_launcherLmg" />
    

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

    【讨论】:

    • 图标仍未显示在我的通知中。还有什么必要的?
    【解决方案2】:

    最后通过改变图标的​​颜色解决了这个问题。无论我们要显示的通知图标的内容应该是Gray,图标的颜色和背景应该是White。示例图片

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

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

    【讨论】:

    • 那为什么有些图标不是灰色的呢?例如,Facebook 图标是蓝色的
    【解决方案3】:

    你可以使用

    使用 mipmap 图标代替可绘制图标,并将其放在 xxxhdpi-mipmap 文件夹中。如果背景为白色,图标会自动调整颜色

    使用通知图标作为安卓版本

    .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;
    }
    

    【讨论】:

    • 这只是一个图标,这就是我说改变它的原因
    • 在这种情况下,您的图标的行为与 android 版本一样
    • 我试过你的代码,但没有解决我的问题。谢谢你的回答。
    猜你喜欢
    • 1970-01-01
    • 2019-12-05
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    相关资源
    最近更新 更多