You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android接入Firebase登录报email address is badly formatted错误如何解决?

错误产生原因
  • 核心错误:Firebase Auth提供的signInWithEmailAndPassword方法要求第一个参数为邮箱地址、第二个参数为登录密码,你的代码中参数顺序传反,将密码作为第一个参数传入,系统校验密码格式不符合邮箱规则,因此抛出email address is badly formatted格式错误。
  • 隐藏逻辑漏洞:密码长度校验分支未添加return语句,即使用户输入密码长度不符合要求,代码仍会继续执行后续登录逻辑,同时该分支也未隐藏进度条,会导致进度条一直显示。
修复方法

修改loginUser方法中两处问题即可,修改后对应代码如下:

private void loginUser() {
    String userEmail = email.getText().toString().trim();
    String userPass = Password.getText().toString().trim();
    progressBar.setVisibility(View.VISIBLE);

    if (TextUtils.isEmpty(userEmail)){
        Toast.makeText(this, "Email is empty", Toast.LENGTH_SHORT).show();
        progressBar.setVisibility(View.GONE);
        return;
    }

    if (TextUtils.isEmpty(userPass)){
        Toast.makeText(this, "Password is empty", Toast.LENGTH_SHORT).show();
        progressBar.setVisibility(View.GONE);
        return;
    }
    // 修复密码校验分支的逻辑漏洞
    if (userPass.length() < 5){
        Toast.makeText(this, "Password must be 5 characters or more", Toast.LENGTH_SHORT).show();
        progressBar.setVisibility(View.GONE);
        return;
    }
    // 修复参数传入顺序,第一个传邮箱,第二个传密码
    auth.signInWithEmailAndPassword(userEmail,userPass)
            .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull  Task<AuthResult> task) {
                    if (task.isSuccessful()){
                        Toast.makeText(MainActivity.this, "Login is Successful", Toast.LENGTH_SHORT).show();
                        progressBar.setVisibility(View.GONE);
                    }
                    else {
                        Toast.makeText(MainActivity.this, "Error"+task.getException(), Toast.LENGTH_SHORT).show();
                        progressBar.setVisibility(View.GONE);
                    }
                }
            });

}

内容的提问来源于stack exchange,提问作者James gonzales

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:24:01