【问题标题】:Android Push Notification System Tray Icon Is GrayAndroid 推送通知系统托盘图标为灰色
【发布时间】:2019-12-05 00:24:52
【问题描述】:

我正在使用 Firebase Cloud Messaging 为 Android 推送通知,一切进展顺利,但我想知道系统托盘中的图标颜色是怎么回事。它正在变成灰度图像,而不是保持其原始颜色。我可以使用setColor 方法对其进行着色,但我希望图标完全不会失去颜色,这可能吗?根据我能找到的一些帖子,我尝试使用各种不同的图像,它们有自己的尺寸、透明/不透明、白色背景等。我似乎无法找到关于这里实际发生的事情的答案。我的编译/目标 sdk 目前是 26。我在模拟器 (Nexus 6) 上使用 Android 8.0 和 9.0,在物理设备上使用 8.1。

.setSmallIcon(R.drawable.app_logo)
.setColor(Color.GREEN)

【问题讨论】:

  • 颜色可能只针对大图标,而小图标必须保持不着色。如果您将代码更改为使用.setLargeIcon(),会发生什么?
  • 右边那个不是吗?无论如何我都试过了,得到:Invalid notification (no valid small icon)。我都试过了,小图标还是灰色的,但是大图标正常显示是彩色的。
  • 看看这个SO answer
  • @ChrisvinJem 该帖子中的每个答案(除非我错过了一个?)担心使用setColor - 我试图避免。
  • 我能知道你在哪个设备上检查吗? Android 版本和设备公司?

标签: android firebase-cloud-messaging


【解决方案1】:

通知的小图标有点误导。如果您将使用彩色可绘制对象 - 它会显示为 Android 操作系统选择使用的颜色。就是这样。如果您提供 .setColor() 属性 - 它会将其用作色调。这是因为小图标用于通知托盘(可以是白色或黑色),并且当您将通知托盘向下拉时,它也会与通知中的应用程序名称一起使用。有时它不会在某些由 chineezium 制成的设备上的通知托盘中着色(就像我的 Xioami 设备一样)。只需将其交给 Google 并遵守 Google 要求我们遵守的规则

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    相关资源
    最近更新 更多