android - The email address is already in use by another account (Auth With Email/Password Firebase)
问题描述
I am using Email/Password Auth From Firebase. And I handle The exception message. and I First Registered and After That Go To Login Activity But When I Write The Email I am Registered With It .. I can not log in And Get This Error "The email address is already in use by another account".
In Firebase Panel I have the Email That Register By It BUt I can Not Login With It.
this Is My code Too...First For Registered:
private lateinit var firebaseAuth: FirebaseAuth
/*Firebase Auth*/
firebaseAuth = FirebaseAuth.getInstance()
/*Register With Firebase Auth*/
fun onRegisterBtnClick(view: View) {
val dialog: ProgressDialog = ProgressDialog.show(
this@StudentRegisterActivity, getString(R.string.please_wait),
getString(R.string.processing), true
)
firebaseAuth.createUserWithEmailAndPassword(stuEmail, stuPass).addOnCompleteListener {
dialog.dismiss()
if (it.isSuccessful) {
val snackbar: Snackbar = Snackbar.make(
binding.coordinator,
getString(R.string.register_succesed), Snackbar.LENGTH_SHORT
)
snackbar.show()
/*Intent to Login Activity*/
val intent = Intent(this@StudentRegisterActivity, StudentLoginActivity::class.java)
startActivity(intent)
} else {
Log.e(TAG, it.exception.toString())
val snackbar: Snackbar = Snackbar.make(
binding.coordinator,
it.exception!!.message!!, Snackbar.LENGTH_SHORT
)
snackbar.show()
}
}
}
and LOGIN
private lateinit var firebaseAuth: FirebaseAuth
/*Firebase Auth*/
firebaseAuth = FirebaseAuth.getInstance()
fun onLoginBtnClick(view: View) {
val dialog: ProgressDialog = ProgressDialog.show(
this@StudentLoginActivity, getString(R.string.please_wait),
getString(R.string.processing), true
)
firebaseAuth.createUserWithEmailAndPassword(stuEmail, stuPass).addOnCompleteListener {
dialog.dismiss()
if (it.isSuccessful) {
val snackbar: Snackbar = Snackbar.make(
binding.coordinator,
getString(R.string.register_succesed), Snackbar.LENGTH_SHORT
)
snackbar.show()
/*Intent to Login Activity*/
val intent = Intent(applicationContext, BatchesStudentActivity::class.java)
startActivity(intent)
} else {
Log.e(TAG, it.exception.toString())
val snackbar: Snackbar = Snackbar.make(
binding.coordinator,
it.exception!!.message!!, Snackbar.LENGTH_SHORT
)
snackbar.show()
}
}
}
解决方案
do this inside your clickListener
if(!TextUtils.isEmpty(stuEmail) && !TextUtils.isEmpty(stuPass)){
firebaseAuth.signInWithEmailAndPassword(stuEmail, stuPass).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(task.isSuccessful()){
//give the intent or whatever you want
} else {
String errorMessage = task.getException().getMessage();
Toast.makeText(LoginActivity.this, "Error : " + errorMessage, Toast.LENGTH_LONG).show();
}
}
});
}
推荐阅读
- php - dotenv 值未正确读取
- google-cloud-firestore - FirestoreException - 找不到 TLS ALPN 提供程序 - 没有工作的 netty-tcnative
- azure-devops - azure pipelines.yml 使用带有 azure cli 和 python 3 的 vm?
- javascript - 尝试在那时测试我的 catch 块没有成功
- css - 自定义组合框中的默认文本
- python - 如何在某些条件下通过python选择Html页面中的前一个元素
- php - 如何在嵌套数组中找到一个值,然后返回该父级?
- c - 如何使用 C 在 Windows 中执行批处理 (.bat) 文件
- javascript - 哪一种代码更有效?
- javascript - Hapi auth cookie 设置但 request.auth.credentials 为空