You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Local Notification应用图标在Pixel 6手机不显示,其他设备正常

解决Flutter Local Notification在Pixel 6上图标不显示的问题

问题根源

Pixel 6搭载Android 12+系统,该版本对通知图标有严格规范:必须使用单色、透明背景的图标,普通带背景的应用启动图标(比如你代码里的@mipmap/ic_launcher)会被系统过滤,导致图标不显示或被替换为默认占位符,而旧版本Android对这一限制要求宽松,所以其他设备能正常显示。

具体修复步骤

  • 准备合规的通知图标
    制作单色(推荐白色)、无背景的PNG图标,放到Android项目的res/drawable-xxxhdpi、res/drawable-xxhdpi等对应dpi的目录下,命名为ic_notification(或自定义名称)。

  • 修改初始化代码

    1. 更新初始化设置,替换为新的通知图标:
      var initializationSettingsAndroid =
          const AndroidInitializationSettings('@drawable/ic_notification');
      
    2. 创建通知渠道时,明确指定渠道图标(Android 12+强制要求):
      const AndroidNotificationChannel channel = AndroidNotificationChannel(
          'channel ID',
          'channel name',
          playSound: true,
          importance: Importance.max,
          icon: '@drawable/ic_notification', // 新增渠道图标配置
      );
      
  • 清理缓存并重建项目
    执行以下命令清理旧资源缓存,避免缓存导致配置不生效:

    flutter clean
    flutter run
    
  • 验证通知权限(Android 13+)
    如果是Android 13及以上版本,确保已申请并授予POST_NOTIFICATIONS权限,虽然这不会直接导致图标不显示,但权限缺失会让通知无法正常触发。

内容的提问来源于stack exchange,提问作者Akram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 09:02:28