Android 12(API31+)使用facebook-login 11.2.0出现PendingIntent相关闪退如何解决
这个是com.facebook.android:facebook-login:11.2.0版本的已知兼容性问题,该版本发布时Android 12尚未正式推送,SDK内部创建PendingIntent时没有添加Android 12强制要求的FLAG_IMMUTABLE或FLAG_MUTABLE标记,和你写的onActivityResult回调逻辑无关,不是你的配置错误。
解决方案
方案一:升级Facebook SDK(优先推荐)
Facebook官方在12.0.0及以上版本的SDK中已经完成了Android 12的适配,修复了该问题。你只需要修改gradle中的依赖版本即可:
// 替换原有11.2.0的依赖,也可使用更高的稳定版 implementation 'com.facebook.android:facebook-login:12.0.0'
升级后无需修改其他业务代码,即可正常运行。
方案二:临时规避方案(无法升级SDK时使用)
如果当前项目暂时不能升级SDK版本,可以通过以下临时方法规避闪退:
- 在应用的
AndroidManifest.xml的manifest节点下添加queries配置:
<queries> <package android:name="com.facebook.katana" /> </queries>
注意:该方案仅作为过渡使用,部分Facebook边缘功能可能出现异常,长期还是建议升级到官方适配的SDK版本。
内容的提问来源于stack exchange,提问作者juliusspencer
相关产品推荐
相关产品推荐

