为什么我的通知图标在Oreo系统中未正常显示?

3
我们的应用程序中有通知功能,一直以来都运作正常。我们使用一张小而多彩的.png图标作为通知图标,在过去一直很好用。
在Oreo系统中,这个图标无法正确显示,只是一个灰色的正方形。从设备的抽屉中观察,似乎系统、Gmail等所有应用现在都有单色图标,因此我怀疑这与此有关。
但是,我找不到任何文件、设计指南或其他任何东西来证实这一点,所以我在这里提出问题...
如何使我的图标在Oreo中正常显示?我错过了什么?
这是我创建图标的方式,从文档中可以看到它应该有效,并且在Oreo之前也有效:
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);

builder.setAutoCancel(true).setContentTitle("Title").setWhen(when)
.setContentText(message).setDefaults(Notification.DEFAULT_ALL)
.setSmallIcon("icon.png").setContentIntent(contentIntent);

getNotificationManager(context).notify(NOTIFICATION_ID, builder.build());

仅使用图标的 Alpha 通道(不仅限于 Oreo 版本)。因此,请确保您的图标具有有意义的 Alpha 通道。 - Henry
什么是 Alpha 通道?@Henry - D_K
@D_K 这个通道控制着图标的透明度。 - Henry
1个回答

0

请参考此网站 在这个网站上,您可以看到以下内容

您可以看到我设置了不同的小图标。 在Lollipop及更高版本的Android中,小图标需要是矢量图标。否则,它将仅显示为彩色点。

如果您有png、jpeg或jpg图像文件,则将其转换为svg,并使用“矢量资源”选项将此svg文件导入到Android Studio中,然后您就可以开始使用了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接