Android Firebase使用电子邮件和密码登录

时间:2017-10-13 16:25:45

标签: android firebase-realtime-database firebase-authentication

我有一个Android应用和Firebase数据库。我设置的登录信息包含电子邮件和密码。它运行良好,但当我尝试使用空白电子邮件和密码登录时,应用程序崩溃。

这是我的代码

final String Email = email.getText().toString();
final String Password = password.getText().toString();
mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(ThisActivity.this, new OnCompleteListener<AuthResult>() {
          @Override
          public void onComplete(@NonNull Task<AuthResult> task) {
                      if (!task.isSuccessful()) {
                                Toast.makeText(ThisActivity.this, "sign in error", Toast.LENGTH_SHORT).show();
                      } else
                                mAuth.addAuthStateListener(firebaseAuthListener);
          }
});
break;

2 个答案:

答案 0 :(得分:1)

这会对你有帮助:)

final String Email = email.getText().toString();
final String Password = password.getText().toString();

if(!TextUtils.isEmpty(Email) && !TextUtils.isEmpty(Password)) {
        mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(CustomerLoginActivty.this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (!task.isSuccessful()) {

                        Toast.makeText(ThisActivity.this, "sign in error", Toast.LENGTH_SHORT).show();
                    } else
                        mAuth.addAuthStateListener(firebaseAuthListener);
                }
            });
            break;
        }

答案 1 :(得分:0)

电子邮件和密码参数不应为null或为空。因此,如果您需要使用空格进行记录,请确保验证字段,而不是向方法signInWithEmailAndPassword发送空值或空值