class LoginActivity : AppCompatActivity() {
private val firebaseAuth = FirebaseAuth.getInstance()
private val firebaseAuthListener = FirebaseAuth.AuthStateListener {
val user = firebaseAuth.currentUser?.uid
user?.let {
startActivity(HomeActivity.newIntent(this))
finish()
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
loginProgressLayout.setOnTouchListener { v, event -> true }
}
fun onLogin(v: View) {
var proceed = true
if (emailET.text.isNullOrEmpty()) {
emailTIL.error = "email is required"
emailTIL.isErrorEnabled = true
proceed = false
}
if(passwordET.text.isNullOrEmpty()) {
passwordTIL.error = "password is required"
passwordTIL.isErrorEnabled = true
proceed = false
}
if(proceed){
loginProgressLayout.visibility = View.VISIBLE
firebaseAuth.signInWithEmailAndPassword(emailET.text.toString(), passwordET.text.toString())
.addOnCompleteListener { task ->
if (!task.isSuccessful){
loginProgressLayout.visibility = View.GONE
Toast.makeText(this@LoginActivity, "LoginError", Toast.LENGTH_SHORT).show()
}
}
.addOnFailureListener { exception ->
exception.printStackTrace()
loginProgressLayout.visibility = View.GONE
}
}
} //onLogin end
我检查了我得到了一些身份验证号码firebaseAuth.signInWithEmailAndPassword
代码行。
但我的问题是关于房产的FirebaseAuth.AuthStateListener
,这是行不通的。
当我获得身份验证号码然后我想要AuthStateListener
上班!
我阅读了 Firebase API,但它不起作用。我怎样才能使FirebaseAuth.AuthStateListener
work?
你需要打电话addAuthStateListener
与您的听众一起工作,以便其发挥作用。
例如在onStart
您的活动:
override fun onStart() {
super.onStart()
firebaseAuth!!.addAuthStateListener(this.firebaseAuthListener!!)
}
我建议研究这个答案(更多):Android Studio (Kotlin) - 每次应用程序关闭时用户都必须重新登录应用程序 https://stackoverflow.com/questions/54046250/android-studio-kotlin-user-has-to-log-back-into-app-every-time-app-is-closed/54050040#54050040
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)