咨询:Flutter本地通知图标显示白色圆圈如何解决
Flutter本地通知图标显示为白色圆圈的解决办法
Android平台处理步骤
- 制作符合规范的通知图标:必须是透明背景的白色单色图标,准备对应不同dpi的尺寸:
- mdpi: 24×24px
- hdpi: 36×36px
- xhdpi: 48×48px
- xxhdpi: 72×72px
- xxxhdpi: 96×96px
- 将图标文件(命名如
ic_notification.png)分别放入android/app/src/main/res/drawable-<dpi>/对应目录 - 修改
AndroidManifest.xml,在<application>标签内添加meta-data配置默认通知图标:<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/ic_notification" /> - 若使用
flutter_local_notifications插件,初始化时指定图标:final AndroidInitializationSettings androidInitSettings = AndroidInitializationSettings('ic_notification');
iOS平台处理步骤
- 制作适配不同尺寸的通知图标:支持透明背景,推荐尺寸包括20×20、29×29、40×40、58×58、80×80、87×87、100×100、120×120、152×152、167×167、180×180px
- 在Xcode中打开项目,将图标添加到
Assets.xcassets,创建NotificationIcon.appiconset并导入对应尺寸的图标文件 - 若使用
flutter_local_notifications插件,初始化iOS配置时指定默认图标:final IOSInitializationSettings iosInitSettings = IOSInitializationSettings( defaultIcon: 'NotificationIcon', defaultPresentAlert: true, defaultPresentBadge: true, defaultPresentSound: true ); - 确保开启Push Notifications权限:在Xcode的
Signing & Capabilities中添加Push Notifications能力,并配置好APNs证书
常见注意事项
- Android系统强制通知图标为单色(白色),彩色图标会被系统自动处理为白色圆圈,务必遵守规范
- 清理项目缓存后重新编译,避免旧资源残留导致图标不更新
内容的提问来源于stack exchange,提问作者lala
相关产品推荐
相关产品推荐

