Android facebook-login 库 11.2.0 导致 Android 12 崩溃 - 定位 S+(版本 31 及更高版本)需要 FLAG_IMMUTABLE 或 FLAG_MUTABLE 之一

jul*_*cer 19 android facebook-login firebase

我使用 Firebase 与 facebook-login 并收到以下错误:

Caused by: java.lang.IllegalArgumentException: my.app.id: 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.
    at android.app.PendingIntent.checkFlags(PendingIntent.java:375)
    at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:645)
    at android.app.PendingIntent.getBroadcast(PendingIntent.java:632)
    at com.facebook.AccessTokenManager.setTokenExpirationBroadcastAlarm(AccessTokenManager.kt:121)
    at com.facebook.AccessTokenManager.setCurrentAccessToken(AccessTokenManager.kt:94)
    at com.facebook.AccessTokenManager.setCurrentAccessToken(AccessTokenManager.kt:47)
    at com.facebook.AccessToken$Companion.setCurrentAccessToken(AccessToken.kt:428)
    at com.facebook.AccessToken.setCurrentAccessToken(Unknown Source:2)
    at com.facebook.login.LoginManager.finishLogin(LoginManager.java:894)
    at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:247)
    at com.facebook.login.LoginManager$1.onActivityResult(LoginManager.java:186)
Run Code Online (Sandbox Code Playgroud)

我正在使用的 gradle 库条目是:

implementation 'com.facebook.android:facebook-login:11.2.0'

代码似乎setTokenExpirationBroadcastAlarm没有设置标志。有没有人有解决方法或知道我做错了什么?

onActivityResult当用户登录时,我的代码会调用它:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    // Pass the activity result back to the Facebook SDK
    facebookCallbackManager.onActivityResult(requestCode, resultCode, data)
}
Run Code Online (Sandbox Code Playgroud)

我正在运行 Android 12 的 Pixel 上进行测试。

小智 26

这个问题在 Facebook 的以下版本中得到了解决

SDK 12.3.0

添加/更改此行

implementation 'com.facebook.android:facebook-android-sdk:12.3.0'
Run Code Online (Sandbox Code Playgroud)


小智 0

降级到版本11.0.0对我有用。尝试降级。