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

Android 13发布版中Alarm Manager与声音通知失效问题排查

问题:Android 13发布版Flutter定时通知发声失效

我开发了一款Flutter应用,支持在指定时长后向用户发送通知,通过flutter_ringtone_player插件播放提示音,使用android_alarm_manager_plus调度通知任务。目前遇到的问题是,该功能运行一段时间后会停止发声,推测可能与Flutter版本升级或Android 13系统特性有关。

调度代码

var dr = Duration(seconds: config.delay);
await saveShared(config);
_scheduled = await AndroidAlarmManager.oneShot(dr, helloAlarmID, playAlarm,
    exact: true, wakeup: true, alarmClock: true, allowWhileIdle: true);
return _scheduled;

playAlarm方法实现

static void playAlarm() async {
  var config = await loadShared();
  playImpl(config)
      .then((_) => _scheduled = false)
      .onError((error, stackTrace) {
    print("failed to play notification");
    print(error);
    return true;
  });
}

完整NotifyModel类及AndroidManifest文件可查看项目源码对应位置。

正常运行环境

  • API 29模拟器
  • API 33模拟器
  • VSCode调试模式下的Android 13 Pixel 4a设备

失效场景

同一Pixel 4a设备上,从Google Play安装的发布版应用中该功能失效。需要说明的是:playImpl方法无论是从AlarmManager调度触发,还是通过UI按钮直接调用,其中的FlutterRingtonePlayer.play和FlutterRingtonePlayer.playNotification在UI调用时均能正常工作。

Flutter环境信息

[✓] Flutter (Channel stable, 3.3.1, on Ubuntu 22.04.1 LTS 5.15.0-48-generic, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] VS Code (version 1.71.2)

更新

已找到类似问题案例,但切换到Flutter 3.0.5版本后仍未解决问题。

请问需要检查哪些内容来定位Android 13上Debug版与发布版的差异原因?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:40:49