Flutter中Facebook登录报错:需升级API适配Activity Result(Kotlin环境)
解决方案:修复Facebook登录的AndroidX Activity Result API错误
1. 配置MainActivity的exported属性(Android 12+必填)
打开AndroidManifest.xml,找到.MainActivity节点,添加android:exported="true"属性,确保登录回调能正常传递:
<activity android:name=".MainActivity" android:exported="true" <!-- 新增该属性 --> android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize"> <!-- 其他原有配置 --> </activity>
2. 升级flutter_facebook_auth到最新稳定版
在pubspec.yaml中更新依赖版本:
flutter_facebook_auth: ^6.1.1 # 替换为当前最新稳定版
执行flutter pub get完成依赖更新。
3. 统一Facebook SDK依赖版本(避免冲突)
打开android/app/build.gradle,在dependencies块中明确指定兼容的Facebook Login SDK版本:
dependencies { // 其他已有依赖 implementation 'com.facebook.android:facebook-login:15.1.0' }
4. 保持MainActivity代码不变
你的MainActivity.kt代码无需修改,FlutterFragmentActivity已原生支持AndroidX Activity Result API,插件会自动处理登录回调,无需手动重写onActivityResult方法。
完成以上步骤后,重新构建项目并测试Facebook登录,错误即可解决。
内容的提问来源于stack exchange,提问作者Caspar Bm
相关产品推荐
相关产品推荐

