方法一 (修改图标的尺寸和大小) (无效):
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.abc)
.setContentTitle("aaaaa")
.setContentText("bbbbbb")
.setLargeIcon(abcd);
调用了setSmallIcon()方法,但是通知栏显示时的小图标是个方块,不是我们设置的图标;
解决:图标大小限制在20kb以内。 (无效)
排查技巧:
设置的图标过大时,AndroidStudio预览时图片显示不出来;
换成小图标就可以正常显示了:
这个电话的小图标能显示,但是是灰色的,不是彩色的。(没有完全解决)
方法二(有效):
在不同的版本使用不同的图标,在android 8.0以下,使用透明背景的图标,配上底色。
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
builder.setSmallIcon(R.mipmap.launcher_icon);
} else {
// 背景透明的图片,配上底色
builder.setSmallIcon(R.mipmap.icon_notification)
.setColor(Color.parseColor("#0972EE"));
}
————————————————
版权声明:本文为CSDN博主「唐诺」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhijiandedaima/article/details/125007616