java - Firebase signInWithEmailAndPassword 总是跳到其他

标签 java android firebase firebase-authentication

我正在尝试在 Android 上使用 Firebase 创建一个登录和注册页面,我可以注册用户但不能登录,我可以在数据库中看到注册用户。登录方法总是转到 else 部分。这是代码

    mLogin_btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String email = mLoginEmail.getEditText().toString();
            String password = mLoginPassword.getEditText().toString();
            if(!TextUtils.isEmpty(email) && !TextUtils.isEmpty(password)){
                mLoginProgress.setTitle("Loggin In");
                mLoginProgress.setMessage("Please Wait!");
                mLoginProgress.setCanceledOnTouchOutside(false);
                mLoginProgress.show();

                loginUser(email, password);
            }
        }
    });

}


private void loginUser(String email, String password) {
    mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {

            if(task.isSuccessful()){

                mLoginProgress.dismiss();

                        Intent mainIntent = new Intent(LoginActivity.this, MainActivity.class);
                        mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                        startActivity(mainIntent);
                        finish();

                    } else{
                mLoginProgress.hide();
                Toast.makeText(LoginActivity.this, "nope, skipping to else", Toast.LENGTH_SHORT).show();
            }
                }
});
}
}

最佳答案

试试这个:

 else{
     mLoginProgress.hide();
    Toasty.error(getApplicationContext(), "Authentication failed: " + task.getException().getMessage(), Toast.LENGTH_SHORT).show();
        }

把你的toast换成上面的toast就能知道为什么要转到else语句了。

改变这个:

  String email = mLoginEmail.getEditText().toString();
  String password = mLoginPassword.getEditText().toString();

为此:

  String email = mLoginEmail.getText().toString();
  String password = mLoginPassword.getText().toString();

关于java - Firebase signInWithEmailAndPassword 总是跳到其他,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48748161/

相关文章:

java - 如何在 Firestore 中获取特定集合?

java - 使用不同的基线来查询数据

java - user.dir 在 Intellij IDEA 中没有正确解析

android - 覆盖与 ScrollView 竞争的 onTouchEvent

android - 收到 'User does not have Permission to access this object. Code: -13021 HttpResult: 403' 错误。请查看详情

javascript - firebase web 通知 - 如何在 firebase-messaging-sw.js 中使用 document 或 window.document

java - Gradle将依赖项下拉到本地lib目录中

java - 局部范围静态方法的 Power Mock 单元测试

android - Android SDK 是否弃用了 ParseCrashReporting?

java - LinearLayout 放置三个按钮,它们之间的填充相同