如何在MAUI的Plugin.LocalNotification中修改通知图标?设置后仍显白圈
Android通知图标显示纯白色圆圈的修复方案
核心问题分析
Android系统对通知图标有强制规范:仅支持透明背景的单色图标,彩色/不透明背景的图标会被系统自动处理为纯白色圆圈。同时你的代码配置也存在引用错误。
具体修复步骤
1. 替换符合规范的图标文件
- 制作/使用一张透明背景的单色(白色优先)图标,命名为
notification_icon.png。 - 将图标放入Android项目的
Platforms/Android/Resources/drawable文件夹(若需适配不同分辨率,可同步放入drawable-hdpi、drawable-xdpi等对应分辨率文件夹)。 - 选中图标文件,右键设置生成操作为
AndroidResource。
2. 修正代码配置
你当前误用了全局Image属性(该属性用于通知内容中的大图,而非状态栏图标),应使用Android专属的SmallIcon(状态栏小图标)和LargeIcon(通知展开后的大图标):
var request = new NotificationRequest { NotificationId = notif.Id, Title = notif.Subject, Description = notif.Sender, Android = new Plugin.LocalNotification.AndroidOption.AndroidOptions { AutoCancel = true, SmallIcon = "notification_icon", // 填写资源名(不带.png后缀) LargeIcon = new NotificationImage { ResourceName = "notification_icon" // 可选配置,用于通知展开后的大图标 } } }; LocalNotificationCenter.Current.Show(request);
3. 验证修复效果
- 清理Android项目的bin/obj文件夹,重新编译运行。
- 触发通知后查看状态栏和通知面板的图标显示状态。
内容的提问来源于stack exchange,提问作者dev
相关产品推荐
相关产品推荐

