Ниже мой код, пожалуйста, помогите мне с ним. Всякий раз, когда я выхожу из приложения и пытаюсь войти снова, он входит в систему автоматически с помощью предыдущих учетных данных, но я хочу ограничить то же самое, я хочу, чтобы GoogleSignIn попросил меня входить в систему всякий раз, когда я нажимаю на него
package com.example.googlesignintest
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.view.View
import android.widget.Toast
import com.google.android.gms.auth.api.signin.GoogleSignIn
import com.google.android.gms.auth.api.signin.GoogleSignInAccount
import com.google.android.gms.auth.api.signin.GoogleSignInClient
import com.google.android.gms.auth.api.signin.GoogleSignInOptions
import com.google.android.gms.common.SignInButton
import com.google.android.gms.common.api.ApiException
import com.google.android.gms.tasks.Task
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.auth.FirebaseUser
import com.google.firebase.auth.GoogleAuthProvider
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
private lateinit var signInButton: SignInButton
private lateinit var signInClient: GoogleSignInClient
private val fAuth = FirebaseAuth.getInstance()
private val RC_SIGN_IN = 1
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
signInButton = findViewById(R.id.google_sign_in)
val gso = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestIdToken(getString(R.string.default_web_client_id))
.requestEmail()
.build()
signInClient = GoogleSignIn.getClient(this, gso)
signInButton.setOnClickListener {
signIn()
}
sign_out_app.setOnClickListener {
signInClient.signOut()
sign_out_app.visibility = View.GONE
Toast.makeText(applicationContext, "Signed Out!!!", Toast.LENGTH_LONG).show()
}
}
private fun signIn() {
val signInIntent = signInClient.signInIntent
startActivityForResult(signInIntent, RC_SIGN_IN)
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == RC_SIGN_IN){
val task = GoogleSignIn.getSignedInAccountFromIntent(data)
handleSignInResult(task)
}
}
private fun handleSignInResult(comptask: Task<GoogleSignInAccount>?) {
try{
val acc = comptask!!.getResult(ApiException::class.java)
Toast.makeText(applicationContext, "Signed In Successfully", Toast.LENGTH_LONG).show()
firebaseGoogleAuth(acc)
}catch (e: ApiException){
e.printStackTrace()
Log.d("ex", e.message.toString().trim())
Toast.makeText(applicationContext, "Signed In Failed", Toast.LENGTH_LONG).show()
firebaseGoogleAuth(null)
}
}
private fun firebaseGoogleAuth(acct: GoogleSignInAccount?) {
val authCredential = GoogleAuthProvider.getCredential(acct!!.idToken, null)
fAuth.signInWithCredential(authCredential).addOnCompleteListener {
if(it.isSuccessful){
Toast.makeText(applicationContext, "Successful", Toast.LENGTH_LONG).show()
val firebaseUser = fAuth.currentUser
updateUI(firebaseUser)
}
else{
Toast.makeText(applicationContext, "Failed", Toast.LENGTH_LONG).show()
updateUI(null)
}
}
}
private fun updateUI(firebaseUser: FirebaseUser?) {
val googleSignInAccount = GoogleSignIn.getLastSignedInAccount(applicationContext)
if (googleSignInAccount != null){
val personName = googleSignInAccount.displayName.toString()
val personGivenName = googleSignInAccount.givenName.toString()
val personFamilyName = googleSignInAccount.familyName.toString()
val personEmail = googleSignInAccount.email.toString()
val personId = googleSignInAccount.id.toString()
val personImage = googleSignInAccount.photoUrl
startActivity(Intent(this, Main2Activity::class.java))
Toast.makeText(applicationContext, "Person Name :$personName/nPerson Email ID: $personEmail", Toast.LENGTH_LONG).show()
}
}
override fun onStart() {
super.onStart()
if (fAuth.currentUser != null){
startActivity(Intent(this, Main2Activity::class.java))
finish()
}
}
}
Пожалуйста, помогите мне !!!! Я хочу выполнить вход из другой учетной записи, когда нажимаю кнопку GoogleSignIn. Заранее спасибо