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

如何在React Native中按设备分辨率设置通知小图标

解决React Native Firebase Notifications安卓自定义小图标问题

别担心,这个问题其实挺常见的,我来帮你理清正确的用法!

你已经把不同分辨率的图标放到对应的drawable-xxx目录下了,这一步是对的。而在setSmallIcon方法里,你不需要填写完整的文件路径,只需要传入图标的**文件名(不带后缀)**就可以了——Android系统会自动根据当前设备的分辨率,去对应的drawable目录里匹配对应的图标文件。

举个例子:如果你的所有图标文件都叫ic_custom_notification.png(不管是mdpi还是xxxhdpi目录下的),那你的代码应该改成这样:

var notification = new firebase.notifications.Notification({
  sound: 'default',
  show_in_foreground: true,
})
  .android.setPriority(firebase.notifications.Android.Priority.High)
  .android.setChannelId("channel")
  .android.setSmallIcon('ic_custom_notification'); // 这里填图标文件名(无后缀)

额外注意事项:

  • 安卓通知图标有严格规范:必须是透明背景+纯白色前景的样式,否则可能会被系统自动处理成灰色方块,显示异常
  • 确保所有drawable目录下的图标文件名完全一致(包括大小写,Android文件名区分大小写),建议用全小写+下划线的命名方式,比如custom_notif_icon
  • 如果你不确定文件名是否正确,可以检查android/app/src/main/res/下各个drawable目录里的图标文件名,直接照搬即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:13:41