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

react-native-push-notification添加配置后自定义通知声音仍不生效

安卓端react-native-push-notification自定义通知音不生效解决方案
  • 优先处理通知渠道配置(安卓8.0及以上必做)
    安卓API 26之后,通知的音效、振动等属性完全由通知渠道的配置决定,触发通知时传入的soundName不会覆盖渠道已有配置。你需要在初始化通知时主动创建自定义音效的渠道,示例代码如下:
    PushNotification.createChannel(
      {
        channelId: "custom-sound-channel", // 不要用之前已存在的旧channelId,避免缓存问题
        channelName: "自定义音效通知渠道",
        channelDescription: "用于播放自定义通知音的通知渠道",
        playSound: true,
        soundName: "sound_one", // 不要加.mp3后缀
        importance: 4, // 必须设置为4及以上才能保证通知弹出+播放音效
        vibrate: true,
      },
      (created) => console.log(`渠道创建结果:${created}`)
    );
    
    配置完成后,触发通知时的channelId要和你新创建的渠道ID保持一致。
  • 修正触发通知时的soundName参数
    安卓平台下引用raw目录的资源不需要加文件后缀,将你现有代码中的soundName: 'sound_one.mp3'修改为soundName: 'sound_one'即可。
  • 检查音频文件配置
    确认音频文件存放路径为android/app/src/main/res/raw/sound_one.mp3,文件名只能包含小写字母、数字、下划线,不能有大写字符、空格或特殊符号,音频编码选用通用的MP3/WAV格式,避免使用偏门编码导致系统无法识别。
  • 清理旧渠道缓存
    如果你之前已经使用过default-channel-id创建过渠道,安卓系统会保留该渠道的原有配置,即使修改代码也不会更新。解决方法有两种:
    • 卸载APP后重新安装,清除旧渠道缓存
    • 使用全新的、从未用过的channelId创建新渠道

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 22:24:03