Flutter问题:锁屏及后台状态下Notification Icon显示灰色
锁屏/后台状态下通知图标显示灰色的解决办法
问题现象
锁屏及后台状态下,通知图标显示为灰色:

当前使用的图标:
核心原因
Android 5.0(API 21)及以上系统对通知图标有强制规范:通知图标必须是白色前景、透明背景的单色图标,系统会自动将不符合该规范的图标转为灰度显示,尤其是在锁屏、后台这类系统UI场景中。
解决步骤
- 重新制作符合规范的通知图标:用白色绘制图标主体,背景完全透明,建议使用SVG格式(缩放无失真),避免添加任何其他颜色或渐变。
- 替换项目中的图标:将新图标放入
res/drawable或对应分辨率的res/mipmap目录下。 - 确保代码中引用正确图标:创建通知时指定符合规范的小图标:
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, "your_channel_id") .setSmallIcon(R.drawable.ic_notification_white) // 替换为新图标 .setContentTitle("通知标题") .setContentText("通知内容");
- Android 8.0+渠道图标同步更新:如果使用了通知渠道,渠道图标也需要符合规范:
NotificationChannel channel = new NotificationChannel("your_channel_id", "通知渠道", NotificationManager.IMPORTANCE_DEFAULT); channel.setIcon(R.drawable.ic_notification_white); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.createNotificationChannel(channel);
内容的提问来源于stack exchange,提问作者Deepak
相关产品推荐
相关产品推荐

