You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中startActivityForResult废弃后Firebase谷歌登录点击无响应如何解决

Google Sign In 点击无响应排查修复方案

以下是按优先级排列的排查与修复方案:

  • 确认GoogleSignInClient初始化配置正确
    绝大多数无响应问题由初始化配置错误导致,你需要确保在调用signIn方法前已完成正确初始化,示例代码如下:
    // 初始化要放在onCreate中,在signIn调用前执行
    val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            // 此处必须传入Firebase控制台中「项目设置」->「通用」->「Web API密钥」对应的Web客户端ID,不能填Android客户端ID
            .requestIdToken(getString(R.string.default_web_client_id))
            .requestEmail()
            .build()
    val googleSignInClient = GoogleSignIn.getClient(this, gso)
    
  • 确认Google Cloud & Firebase配置正确
    • 已将正确的google-services.json放到app模块根目录
    • Firebase控制台已添加当前应用打包的SHA1、SHA256签名信息(debug和release签名都要单独添加)
    • Google Cloud控制台的OAuth同意屏幕已完成配置:如果是测试状态,必须将测试用的谷歌账号添加到「测试用户」列表;如果需要公开使用需要将应用发布为正式状态
  • 补充异常捕获与日志定位问题
    在回调中补充异常处理逻辑,即可拿到具体报错原因:
    private val signInActivityResultLauncher =
         registerForActivityResult(ActivityResultContracts.StartActivityForResult()){ result ->
           if (result.resultCode == Activity.RESULT_OK){
              val task = GoogleSignIn.getSignedInAccountFromIntent(result.data)
              try {
                  val account = task.getResult(ApiException::class.java)
                  // 后续将account的idToken传入Firebase进行身份验证即可
                  Toast.makeText(this@SignInActivity, "登录成功", Toast.LENGTH_SHORT).show()
              } catch (e: ApiException) {
                  // 此处打印异常即可看到具体报错原因,比如密钥错误、用户不在测试列表等
                  Log.e("GoogleSignIn", "登录失败: ${e.statusCode} ${e.message}")
                  Toast.makeText(this@SignInActivity, "登录失败:${e.message}", Toast.LENGTH_SHORT).show()
              }
           } else {
              Log.e("GoogleSignIn", "结果异常,resultCode:${result.resultCode}")
           }
    }
    
  • 确认Result API注册位置正确
    registerForActivityResult必须声明为Activity的成员变量,禁止在onCreate之后的生命周期或者点击事件中动态注册,你当前的写法符合要求,不需要修改。

内容的提问来源于stack exchange,提问作者Zeynep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:24:07