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

使用Audio-Service插件播放音频时通知权限弹窗问题咨询

问题解答:取消Audio-Service插件的Android通知权限请求

原因

Audio-Service插件默认采用前台服务模式运行音频播放逻辑,而Android从API 33(Android 13)开始,要求前台服务必须申请POST_NOTIFICATIONS权限。插件内部会自动触发该权限的请求弹窗——即便你不需要通知功能、权限是否授予不影响播放,只要前台服务模式开启,就会弹出这个请求。

禁用方法

1. 关闭前台服务模式(核心解决办法)

在初始化AudioService时,通过配置参数禁用前台服务关联的通知启动:

await AudioService.start(
  backgroundTaskEntrypoint: _audioPlayerTaskEntrypoint,
  config: AudioServiceConfig(
    androidNotificationChannelId: 'com.your.app.audio',
    androidNotificationChannelName: 'Audio Playback',
    // 禁用前台服务自动带通知的行为
    androidForegroundServiceStartsWithNotification: false,
  ),
);

如果使用自定义的AudioHandler或任务类,确保不要调用AudioServiceBackground.setForeground(true),避免触发前台服务状态。

2. 移除Manifest中的权限声明

打开android/app/src/main/AndroidManifest.xml,删除以下权限声明(如果存在):

<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

若你的应用targetSdkVersion≥33,系统会隐式添加该权限,此时可以通过添加tools:node="remove"强制移除:

<uses-permission android:name="android.permission.POST_NOTIFICATIONS" tools:node="remove" />

(需在manifest根标签中添加xmlns:tools="http://schemas.android.com/tools")

3. 针对旧版插件的补充处理

如果使用的是较旧版本的Audio-Service,可能需要在AudioServiceTask的onStart方法中,跳过创建通知渠道、设置通知内容等与通知相关的初始化代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 14:17:06