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

.NET Maui Android:无法将应用图标设为推送通知小图标求助

.NET Maui Firebase通知小图标不识别的解决方案
  • 严格遵循Android通知图标规范
    .NET Maui的Android资源处理逻辑和Xamarin.Forms有细微差异,通知图标必须满足:

    • 文件名统一为ic_notification(可带分辨率后缀,如ic_notification_hdpi.png),不能用自定义名称
    • 图标必须是透明背景的白色单色图,Android系统会自动适配通知栏的主题色
    • 放置路径:将对应分辨率的图标放入Platforms/Android/Resources/drawable-mdpi、drawable-hdpi等文件夹,通用版本放入drawable文件夹
  • 配置AndroidManifest.xml默认图标
    在Platforms/Android/AndroidManifest.xml的<application>节点内添加以下配置,覆盖Firebase的默认图标:

    <meta-data
        android:name="com.google.firebase.messaging.default_notification_icon"
        android:resource="@drawable/ic_notification" />
    <!-- 可选:设置通知图标显示的颜色 -->
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_color"
        android:resource="@color/your_notification_color" />
    

    注意@drawable/ic_notification要和你的图标文件名完全一致,无需加.png后缀。

  • 清理项目缓存并重建
    .NET Maui的资源缓存可能导致资源未更新,执行以下步骤:

    • 右键项目选择「清理」
    • 删除项目根目录下的bin和obj文件夹
    • 重新编译并部署项目
  • 检查推送Payload的图标字段
    如果通过Firebase API或控制台发送推送,确保payload中的icon字段值为你的图标资源名,示例:

    {
      "notification": {
        "title": "测试通知",
        "body": "通知内容",
        "icon": "ic_notification"
      }
    }
    

    不要包含路径、后缀或其他多余字符。

  • 验证资源打包情况
    可以用压缩工具打开生成的APK包,检查res/drawable-*dpi目录下是否存在你的通知图标,确认文件名和路径无误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 22:43:19