Android 14中Awesome Notifications按钮图标不显示问题求助
Android 14通知按钮图标不显示的解决方案
排查与修复步骤
适配Android 14图标规范
Android 14对通知操作按钮图标有强制要求:必须是单色矢量SVG图标,仅支持白色或系统强调色,彩色位图会被系统过滤不显示。即便你设置了color属性,图标本身非单色也无法正常展示。修正图标引用格式
虽然初始化通知图标时resource://drawable/xxx有效,但通知按钮图标需使用Android原生资源引用格式,同时确保图标文件名全小写(Android资源文件名不允许大写或特殊字符)。尝试修改路径为:icon: '@drawable/reject_icon'注意图标文件需是
reject_icon.xml(矢量格式),放在android/app/src/main/res/drawable目录下。调整矢量图属性
打开矢量图标文件,确保根节点vector的tint属性适配系统主题,避免固定死颜色:<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24" android:viewportHeight="24" android:tint="?attr/colorOnSurface"> <!-- 图标路径内容 --> </vector>清理编译缓存并重装
- 在Android Studio中执行
Build > Clean Project,再执行Build > Rebuild Project - 卸载设备上的旧应用,重新安装测试
- 在Android Studio中执行
用极简代码验证
排除其他代码干扰,创建最小化测试示例:await AwesomeNotifications().createNotification( content: NotificationContent( id: 10, channelKey: 'basic_channel', title: '测试通知', body: '带按钮图标测试', ), actionButtons: [ NotificationActionButton( key: 'REJECT', label: 'Reject', icon: '@drawable/reject_icon', color: Colors.red, showInCompactView: true, ) ] );
额外提示
若以上方法无效,检查AndroidManifest.xml中通知渠道的importance配置,需至少设置为IMPORTANCE_DEFAULT,低优先级通知可能会隐藏按钮图标。
内容的提问来源于stack exchange,提问作者Naif Alluhaidan Engr
相关产品推荐
相关产品推荐

