创建新帐户后,我会自动输入

时间:2017-03-13 18:29:57

标签: android firebase firebase-authentication

创建新帐户后,我会自动输入。 如何阻止创建帐户?

firebaseAuth.createUserWithEmailAndPassword(em, pass).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
     @Override
     public void onComplete(@NonNull Task<AuthResult> task) {
         if (task.isSuccessful()) {
             Toast.makeText(getApplicationContext(), "Пользователь добавлен", Toast.LENGTH_SHORT).show();
             progressDialog.dismiss();
         } else {
             Toast.makeText(getApplicationContext(), "Пользователь не добавлен", Toast.LENGTH_SHORT).show();
             progressDialog.dismiss();
         }
     }
});

可能需要workes whis admin sdk? 可能是谁用admin sdk firebase android? 有没有关于使用admin sdk的示例或课程? 因为我不明白如何使用它。

1 个答案:

答案 0 :(得分:1)

我了解Firebase的工作方式是,如果任务成功,那么Firebase实际上会在用户中签名。

firebaseAuth.createUserWithEmailAndPassword(em, pass).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {

                    FirebaseAuth.getInstance().getCurrentUser(); 
            //Ther will be a current user at this point. This is the way Firebase just works.

                    progressDialog.dismiss();
                } else {
                    Toast.makeText(getApplicationContext(), "Пользователь не добавлен", Toast.LENGTH_SHORT).show();
                    progressDialog.dismiss();
                }
            }
        });

因此,您可以在任务成功后实际获取用户,因为如果任务成功,将自动设置用户。如果您不希望任务成功时有任何用户。你可以打电话

            FirebaseAuth.getInstance().signOut();

这将退出用户并在您致电时

Firebase.getInstance().getCurrentUser()

这将不会返回任何内容,这样系统中就没有用户。

firebaseAuth.createUserWithEmailAndPassword(em, pass).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (task.isSuccessful()) {

                FirebaseAuth.getInstance().getCurrentUser(); 
        //Ther will be a current user at this point. This is the way Firebase just works.
                FirebaseAuth.getInstance().signOut();// sign out the user
                Firebase.geInstance().getCurrentUser(); // this will now be null
                progressDialog.dismiss();
            } else {
                Toast.makeText(getApplicationContext(), "Пользователь не добавлен", Toast.LENGTH_SHORT).show();
                progressDialog.dismiss();
            }
        }
    });