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

升级至Android API 31后Flutter本地通知报错求助

解决Flutter本地通知API 31 PendingIntent报错问题

核心原因

你遇到的错误是因为Flutter本地通知库的旧版本未适配Android 12(API 31)对PendingIntent的强制flag要求——虽然你自身代码没写PendingIntent,但库内部创建通知时会自动生成并使用它,旧版本库没有添加FLAG_IMMUTABLE或FLAG_MUTABLE参数,触发了系统强制校验。

具体修复步骤

  1. 升级Flutter本地通知库到兼容API 31的版本
    打开项目根目录的pubspec.yaml,找到flutter_local_notifications依赖项,将版本更新到最新稳定版(至少需^9.0.0及以上,可直接参考pub仓库的最新版本号)。更新后执行:

    flutter pub get
    
  2. 清理冗余配置

    • 移除之前自行添加的非官方要求的Java/Kotlin依赖,避免版本冲突;
    • 确认AndroidManifest.xml中仅保留库官方文档指定的接收器配置,自定义的多余接收器可删除;
    • exported属性只需给主Activity和库要求的组件设置,无需额外添加到其他无关组件。
  3. 彻底清理并重建项目
    执行以下命令清除旧编译缓存,避免残留文件干扰:

    flutter clean
    flutter pub get
    flutter run
    

额外排查方向

如果升级库后仍报错,可通过日志定位具体抛出错误的组件,检查是否有其他第三方依赖也在创建未适配的PendingIntent,针对性升级对应依赖即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 16:46:17