在Android Nougat中,通知中的图标未显示

22

我进行了研究发现 addAction (int icon, CharSequence title, PendingIntent intent)已经被弃用,所以我使用了addAction(Notification.Action action)。在这两种情况下,图标都无法显示。

NotificationCompat.Action action = new NotificationCompat.Action.Builder(R.drawable.ic_share, "", pendingIntent).build();

notificationBuilder.addAction(action);

文字似乎有效,但我已将其留空,因此在主要图像下方存在一个空白空间,其中应该显示图标


在notificationCompat对象中使用.setStyle(new android.support.v4.media.app.NotificationCompat.MediaStyle()),然后您就可以看到图标了。 - K327
1个回答

30

这不是一个错误,而是Android Nougat设计上的变化。由 addAction (Notification.Action action) 定义的图标不再被设备显示。但它们仍然对于老设备和Android Wear设备是必需的!

引用自android developers google 博客

您会注意到在新通知中没有出现图标;相反,在通知栏的有限空间中为标签本身提供了更多的空间。但是,通知操作图标仍然是必需的,并且继续在旧版本的 Android 和诸如 Android Wear 的设备上使用。

如果您正在使用 NotificationCompat.Builder 和可用的标准样式来构建通知,则默认情况下将获得新的外观和感觉,无需进行任何代码更改。


9
好的,那很糟糕。 - user1608385
现在的解决方案是什么?请问我需要更多的澄清。 - Marwa Eltayeb
@MarwaEltayeb,目前还没有解决方案;操作图标已经消失了。 - user2297550

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