【问题标题】:createUserWithEmailAndPassword is not workingcreateUserWithEmailAndPassword 不起作用
【发布时间】:2016-12-29 12:27:46
【问题描述】:

对我来说一切都很好,我只想在 firebase 中注册一个用户,但它不起作用。这是我的活动:

public class SignUp extends Activity {
    Button signup1;
    EditText email1, password1, password2;
    FirebaseAuth firebaseAuth;
    ProgressDialog progressDialog;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sign_up);
        //Instantiate the FirebaseAuth object
        firebaseAuth = FirebaseAuth.getInstance();

        signup1 = (Button) findViewById(R.id.signup);
        // Setting the listener for button
        signup1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                register();
            }
        });
        email1 = (EditText) findViewById(R.id.email);
        password1 = (EditText) findViewById(R.id.password1);
        password2 = (EditText) findViewById(R.id.password2);
        progressDialog = new ProgressDialog(this);
    }

    public void register() {
        String email = email1.getText().toString().trim();
        String pass1 = password1.getText().toString().trim();
        String pass2 = password2.getText().toString().trim();

                 if (TextUtils.isEmpty(email)) {
                     Toast.makeText(this, "Please Enter an Email", Toast.LENGTH_SHORT).show();
                     return;
                 }
                 if (TextUtils.isEmpty(pass1)) {
                     Toast.makeText(this, "Please Enter Password", Toast.LENGTH_SHORT).show();
                     return;
                 }
                 if (TextUtils.isEmpty(pass2)) {
                     Toast.makeText(this, "Please Enter Password Again", Toast.LENGTH_SHORT).show();
                     return;
                 }
                 if (TextUtils.equals(pass1, pass2)) {
                 progressDialog.setMessage("Registering....!");
                     progressDialog.show();
                firebaseAuth.createUserWithEmailAndPassword(email, pass2).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (task.isSuccessful()) {
                        Toast.makeText(SignUp.this,"SignUp Successfully", Toast.LENGTH_SHORT).show();
                    }
                    else {
                        Toast.makeText(SignUp.this, "SignUp Failed...  Try Again", Toast.LENGTH_SHORT).show();
                    }
                    progressDialog.dismiss();
                }
            });

             }
             else {
                     Toast.makeText(this, "Password does not Match", Toast.LENGTH_SHORT).show();
                     return;
                 }
        }
 }

应用程序在进入“createUserWithEmailAndPassword”时卡住。

【问题讨论】:

  • 感谢您的修剪..!当一个人感到沮丧时就会发生这种情况..!
  • 如果你在调试器中运行代码,你会进入onComplete吗?
  • 我遇到了同样的问题,不,它没有进入 onComplete
  • 另外,如果值得一提的是,用户已在 Firebase 中成功创建,我可以看到它已通过身份验证并且用户会话成功开始,我猜这是一个“OnCompleteListener”问题。
  • @AhmedAshrafG 在我的情况下 Firebase 用户未创建..!

标签: android firebase firebase-authentication


【解决方案1】:

使用 try-catch 处理异常。 例如 createUser... 方法为 null 并捕获它并解析。

【讨论】:

    猜你喜欢
    • 2017-05-17
    • 1970-01-01
    • 2017-03-16
    • 2020-08-17
    • 1970-01-01
    • 2017-09-21
    • 2021-11-22
    相关资源
    最近更新 更多