使用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
相关产品推荐
相关产品推荐

