gpt4 book ai didi

android - Firebase SignUp 总是报错

转载 作者:行者123 更新时间:2023-11-29 19:01:06 28 4
gpt4 key购买 nike

我正在通过注册和登录在我的应用程序中实现 Fire-Base 身份验证,但是我遇到了一个问题,每次我填写表格并单击“注册”按钮时,Fire-Base 都会返回一个错误,即使帐户已成功创建。我的 SignUp 方法代码:

    public class Signup extends AppCompatActivity {

EditText input_email,input_pass;

private FirebaseAuth auth;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signup);

//View
input_email = (EditText)findViewById(R.id.id_email);
input_pass = (EditText)findViewById(R.id.id_pass);

//Init Firebase
auth = FirebaseAuth.getInstance();
}

public void iLogin (View v){
startActivity(new Intent(Signup.this, Login.class));
finish();
}

public void iForgot(View v){
//startActivity(new Intent(Signup.this, ForgotPassword.class));
finish();
}

public void iSignUp(View v){
signUpUser(input_email.getText().toString(),input_pass.getText().toString());
}

private void signUpUser(String email, String password) {
auth.createUserWithEmailAndPassword(email,password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if(!task.isSuccessful())
{
Toast.makeText(Signup.this, "Successfully created your account", Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(Signup.this, "ERROR has occurred", Toast.LENGTH_LONG).show();
}
}
});
}
}

那么发生的事情是:

1- 用户第一次打开应用程序,应用程序主要在 MainActivity.class 上打开,然后将用户重定向到 SignUp.class(我在上面添加的那个)。

2- 用户然后填写两个字段:(电子邮件)和(密码)并单击“注册”按钮

3- SignUp.class(我在上面添加的那个)然后创建一个新帐户并显示 Toast:发生错误,即使该帐户已成功创建。为了让类显示正确的 Toast(已成功创建您的帐户),我需要再次按下按钮。

所以要明确一点:您第一次点击时,帐户已创建,我可以在 Fire-Base 控制台中看到它,但该应用程序仍然提供错误的 Toast,为了显示正确的 Toast,我需要点击它再次,关于代码有什么问题的想法?提前致谢!

最佳答案

只是改变:

if(!task.isSuccessful()) 

到:

if(task.isSuccessful())

它应该可以工作。当 task.isSuccessful() 为真时表示成功,因此 ! 符号使其为假。这就是它第二次起作用的原因。

关于android - Firebase SignUp 总是报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49056265/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com