创建新帐户后,我会自动输入。 如何阻止创建帐户?
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的示例或课程? 因为我不明白如何使用它。
答案 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();
}
}
});