防止 google 凭据保存在 android

prevent google credentials save in android

我正在使用 Firebase Google Authentication 服务。身份验证工作正常,但问题是当我使用 google 身份验证登录时,凭据被保存。所以每次注销后,我都无法选择用于登录的电子邮件。它直接让我登录到应用程序。所以当我想用另一个 Gmail 帐户登录时,这对我来说就成了一个问题。

实现凭据页面的代码。

google_sign_in_btn.setOnClickListener {
            signIn()
        }
  ...


private fun signIn() {
    val signInIntent = mGoogleSignInClient.signInIntent
    startActivityForResult(signInIntent, 234)
}


override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)

        if (requestCode == 234)
        {
            val task = GoogleSignIn.getSignedInAccountFromIntent(data)
            try
            {
                val account = task.getResult(ApiException::class.java)
                if (account != null) {
                    firebaseAuthWithGoogle(account)
                }
            }
            catch (e:ApiException) {
            }
        }
    }

您面临的问题是您没有从 Google 提供商处注销用户。仅从 Firebase 注销是不够的。如果您希望每次都弹出该弹出窗口,以便您可以选择要使用的电子邮件帐户,请同时退出 Google 和 Firebase:

googleSignInClient.signOut().addOnCompleteListener { /* ... /* }
FirebaseAuth.getInstance().signOut()