Flutter:本地通知自定义声音不起作用

Jak*_*sMD 3 android-notifications flutter

我正在尝试为我的通知播放我自己的自定义声音。但是在我的 android 模拟器上,它只播放默认声音,而在我自己的设备上,它甚至不发出声音。我试过这个,但它没有帮助我。


FlutterLocalNotificationsPlugin _notifications = FlutterLocalNotificationsPlugin();

var initializationSettingsAndroid = AndroidInitializationSettings('app_icon');
var initializationSettingsIOS = IOSInitializationSettings();
var initializationSettings = InitializationSettings(initializationSettingsAndroid, initializationSettingsIOS);
await _notifications.initialize(initializationSettings);
var androidPlatformChannelSpecifics = AndroidNotificationDetails('test_channel', 'test', '', playSound: true, sound: RawResourceAndroidNotificationSound('my_sound'));
var iOSPlatformChannelSpecifics = IOSNotificationDetails();
var platformChannelSpecifics = NotificationDetails(androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
await _notifications.show(0, 'test', 'this is a test', platformChannelSpecifics);

Run Code Online (Sandbox Code Playgroud)

我没有收到任何错误。我的文件在 android/app/src/main/res/raw/my_sound.mp3

Jak*_*sMD 12

简单修复!您必须完全卸载并重新安装该应用程序,而不仅仅是更新它。第一次安装时的通知设置将持续存在,因此如果它曾经设置为默认声音,那么如果您不更改频道 ID,它将持续存在。更多信息在这里


小智 5

根据文档:“对于 Android 8.0 或更高版本,此(声音)与指定通道绑定,并且在首次创建通道后无法更改。”

因此,要么创建一个单独的通道,要么只是卸载应用程序以删除通知通道并重新安装。