Flutter App 针对 Android 12 CRASHES => FLAG_IMMUTABLE 或 FLAG_MUTABLE 在创建 PendingIntent 时指定

Posted

技术标签:

【中文标题】Flutter App 针对 Android 12 CRASHES => FLAG_IMMUTABLE 或 FLAG_MUTABLE 在创建 PendingIntent 时指定【英文标题】:Flutter App targeting Android 12 CRASHES => FLAG_IMMUTABLE or FLAG_MUTABLE to be specified when creating a PendingIntent 【发布时间】:2022-01-04 07:42:46 【问题描述】:

我在 Flutter 中开发应用程序。有人会建议我在哪里更改 PendingIntent 以使用 FLAG_IMMUTABLE?应用程序安装在模拟器上,但在启动时崩溃。谁能举一个简短的例子在哪里改变它?

我读到 workmanager 2.7.1 可以帮助解决问题。具体应该添加到哪里?

【问题讨论】:

如果对您有帮助,请考虑接受@SebastienB 的回答。我只是在此处删除此评论,以便其他搜索错误消息的人找到此线程。 Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.. 【参考方案1】:

只需在 android/app/build.gradledependencies 部分添加 implementation 'androidx.work:work-runtime-ktx:2.7.0' 即可对我有用

这是该问题的建议解决方案:https://github.com/flutter/flutter/issues/93609

【讨论】:

以上是关于Flutter App 针对 Android 12 CRASHES => FLAG_IMMUTABLE 或 FLAG_MUTABLE 在创建 PendingIntent 时指定的主要内容,如果未能解决你的问题,请参考以下文章

Flutter点击返回键,回到桌面,但不退出APP的实现

Flutter App 未在 Android Studio 中运行

flutter+dart仿微信App界面聊天实例

关于 flutter1.12.13版本+flutter_boost1.12.13集成到android 和 ios工程

从 VSCode (Android) 闪烁 Flutter 应用程序

针对特定 API 级别的自定义 Android/Flutter 版本