Flutter集成Awesome Notifications报错:无效通知(无有效小图标)
解决Awesome Notifications无有效小图标错误的方案
1. 先执行插件初始化方法
你的代码里只调用了权限请求,但没执行initAwesomeNotification()初始化方法,这是导致图标不生效的关键。修改MainScreen的initState:
@override void initState(){ super.initState(); NotificationService().initAwesomeNotification(); // 优先初始化插件 NotificationService().requestPermission(); }
2. 确保通知小图标符合Android规范
Android对通知小图标有强制要求:
- 图标必须是白色图形+透明背景,不能包含其他颜色,否则会显示为纯色方块
- 将图标文件(建议用png或矢量xml)命名为
ic_applogo,放到Android项目的android/app/src/main/res/drawable目录(没有就新建) - 为了适配不同分辨率,最好在
drawable-mdpi、drawable-hdpi等子目录放置对应尺寸的图标
3. 验证图标路径正确性
检查initAwesomeNotification里的图标路径'resource://drawable/ic_applogo',确保和实际文件名、目录完全匹配,Android文件名区分大小写,不要写错。
4. 可选:单独指定通知图标
如果全局图标仍不生效,可以在创建通知时单独设置:
// 修改showNotification方法中的NotificationContent content: NotificationContent( id: id, channelKey: channelKey, title: title, body: body, icon: 'resource://drawable/ic_applogo', // 单独指定该通知的图标 ),
showScheduledNotification方法做同样修改即可。
5. 清理缓存重新构建
做完上述修改后,执行以下步骤确保生效:
- 运行
flutter clean清理项目缓存 - 重启模拟器/真机
- 重新运行
flutter run
内容的提问来源于stack exchange,提问作者student
相关产品推荐
相关产品推荐

