应用程序崩溃:针对S+(版本31及以上),创建PendingIntent时需要指定FLAG_IMMUTABLE或FLAG_MUTABLE中的一个。

3

将targetsdk版本更新到31后,应用在待处理意图上出现错误。我已经更新了所有的待处理意图,然后运行了应用。但是应用现在崩溃并显示以下错误:

Caused by: java.lang.IllegalArgumentException: fm.iono.p953: 针对S+(版本31及以上),创建待处理意图时需要指定FLAG_IMMUTABLE或FLAG_MUTABLE中的一个。强烈建议使用FLAG_IMMUTABLE,仅在某些功能依赖于待处理意图可变性时才使用FLAG_MUTABLE,例如需要与内联回复或气泡一起使用。

但应用程序崩溃的代码行是以下内容:

val gmsTracker = GoogleAnalytics.getInstance(context).newTracker(gmsId)

请查看下面的截图。我用蓝色标出了应用程序崩溃的行。从logcat中可以看到错误信息。不确定为什么在没有挂起意图的情况下,应用程序会在该行崩溃 :)

enter image description here

任何帮助将不胜感激。

你的 build.gradle 文件中有工作管理器吗?如果有,请查看以下链接:https://dev59.com/cFEG5IYBdhLWcg3wT51R - David Wasser
@DavidWasser 在发布这个问题之前,我已经检查过那个答案了 :) 我的项目中没有使用工作管理器。 - Kishan Solanki
1个回答

4

请确保您使用的是最新版本的Google Analytics依赖项。它似乎正在设置那个PendingIntent,只有Google Analytics的开发人员才能更改该行为。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接