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

使用flutter_local_notification时自定义通知音效重复问题求助

解决flutter_local_notifications自定义音效重复问题
  • 确保通知ID唯一:如果两条通知使用相同ID,后调度的通知会覆盖前一条的所有配置(包括音效),必须为每条通知分配独立的id参数。示例代码:

    // 第一条带自定义音效的通知
    await flutterLocalNotificationsPlugin.schedule(
      0, // 唯一ID
      "通知标题1",
      "通知内容1",
      scheduledTime1,
      NotificationDetails(
        android: AndroidNotificationDetails(
          "channel_1",
          "渠道名称1",
          sound: RawResourceAndroidNotificationSound("sound1"), // 对应raw目录下的sound1文件
        ),
      ),
    );
    
    // 第二条带不同音效的通知
    await flutterLocalNotificationsPlugin.schedule(
      1, // 与第一条不同的ID
      "通知标题2",
      "通知内容2",
      scheduledTime2,
      NotificationDetails(
        android: AndroidNotificationDetails(
          "channel_2",
          "渠道名称2",
          sound: RawResourceAndroidNotificationSound("sound2"), // 对应raw目录下的sound2文件
        ),
      ),
    );
    
  • 为不同音效创建独立通知渠道:Android 8.0及以上系统中,通知音效与渠道绑定,同一个渠道的音效无法单独修改。因此每个使用自定义音效的通知都需要配置独立的渠道ID、渠道名称,确保渠道的sound参数对应目标音效。

  • 校验音效文件配置:确认两个音效文件的名称、格式(如.mp3/.wav)正确,均放置在android/app/src/main/res/raw目录下,文件名无拼写错误(区分大小写)。

  • 清除渠道缓存:若之前用同一渠道测试过不同音效,系统可能缓存了旧配置。可卸载APP重装,或在系统设置中找到对应APP的通知渠道,手动删除旧渠道后重新测试。

  • iOS端额外配置:iOS需将自定义音效文件添加到项目中,并在Info.plist中声明,同时在代码里指定完整文件名(含扩展名),示例:

    NotificationDetails(
      iOS: IOSNotificationDetails(
        sound: "sound2.wav",
      ),
    );
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:52:35