定位 S+(版本 31 及更高版本)需要 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一,尽管我没有在应用程序中使用任何挂起的意图



我已经找到了类似的答案,但没有解决我的问题,因为我得到了-的异常

Targeting S+(版本31及以上)要求在创建PendingIntent时指定FLAG_IMUTABLE或FLAG_MUTABLE之一。强烈考虑使用FLAG_IMUTABLE,仅当某些功能依赖于PendingIntent是可变的时才使用FLAG_MUTABLE,例如,如果它需要与内联回复或气泡一起使用。

但这包含一个条件,因为-我的应用程序中没有使用任何PendingIntent。所以很明显,我不能改变使用它的格式

implementation 'androidx.work:work-runtime-ktx:2.7.1'
implementation 'com.google.firebase:firebase-core:21.0.0'
implementation 'com.google.firebase:firebase-messaging:23.0.0'
implementation 'com.google.firebase:firebase-iid:21.1.0' // add this

有人能帮忙吗!!我应该为Android 12做些什么简单的API调用使用改进和演示者层中的观察者和观察者

即使我个人没有在应用程序中使用PendingIntent,我在接收推送消息时也会遇到类似的错误。事实证明,错误来自Firebase库。我通过替换build.gradle中的以下内容升级了Firebase库:

implementation 'com.google.firebase:firebase-messaging:18.2.0'

带有

implementation 'com.google.firebase:firebase-messaging:23.0.0'
implementation "com.google.firebase:firebase-iid:21.1.0"

但这包含一个条件,即-我的应用程序中没有使用任何PendingIntent。

您的应用程序中有东西正在使用PendingIntent。它可能来自图书馆。完整堆栈跟踪应该会提供更多详细信息。

所以很明显,我无法更改使用它的格式。

您可以使用库的更新版本来更改格式。例如,com.google.firebase:firebase-messaging有一个23.0.6补丁版本,可以解决这个问题。如果无法从堆栈跟踪中识别要更新的特定库,请确保所有库都是最新的。