Java 注册后是否指向登录活动而不是主活动?

Java 注册后是否指向登录活动而不是主活动?,java,android,firebase,firebase-realtime-database,firebase-authentication,Java,Android,Firebase,Firebase Realtime Database,Firebase Authentication,您好,我正在使用firebase auth注册和记录用户,我有一个关于如何做的问题?因为每次我点击我的注册活动上的注册按钮,它就完成了。该活动进入主活动,而不是返回登录活动 btnSignUp.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //strinngs final String n

您好,我正在使用firebase auth注册和记录用户,我有一个关于如何做的问题?因为每次我点击我的注册活动上的注册按钮,它就完成了。该活动进入主活动,而不是返回登录活动

btnSignUp.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //strinngs
            final String name = inputName.getText().toString().trim();
            String email = inputEmail.getText().toString().trim();
            String password = inputPassword.getText().toString().trim();
            if (TextUtils.isEmpty(email)) {
                Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show();
                return;
            }
            if (TextUtils.isEmpty(password)) {
                Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show();
                return;
            }
            if (password.length() < 6) {
                Toast.makeText(getApplicationContext(), "Password too short, enter minimum 6 characters!", Toast.LENGTH_SHORT).show();
                return;
            }
            if (TextUtils.isEmpty(name)){
                Toast.makeText(getApplicationContext(), "Enter a name", Toast.LENGTH_SHORT).show();
                return;
            }
            progressBar.setVisibility(View.VISIBLE);
            //create user
            auth.createUserWithEmailAndPassword(email, password)
                    .addOnCompleteListener(signup.this, new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            Toast.makeText(signup.this, "createUserWithEmail:onComplete:" + task.isSuccessful(), Toast.LENGTH_SHORT).show();
                            progressBar.setVisibility(View.GONE);
                            // If sign in fails, display a message to the user. If sign in succeeds
                            // the auth state listener will be notified and logic to handle the
                            // signed in user can be handled in the listener.
                            if (!task.isSuccessful()) {
                                Toast.makeText(signup.this, "Authentication failed." + task.getException(),
                                        Toast.LENGTH_SHORT).show();
                            } else {
                                finish();
                                onAuthSuccess(task.getResult().getUser());
                                String user_id = auth.getCurrentUser().getUid();
                                startActivity(new Intent(getApplicationContext(), LoginActivity.class));




                            }
                        }

                        private void onAuthSuccess(FirebaseUser user) {
                            int type =1;
                            final String name = inputName.getText().toString().trim();
                            //newuser
                            writeNewUser(user.getUid(), name, type, user.getEmail());
                            startActivity(new Intent(signup.this, LoginActivity.class));
                            finish();

                        }
btnSignUp.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//跨步
最终字符串名称=inputName.getText().toString().trim();
字符串email=inputEmail.getText().toString().trim();
字符串密码=inputPassword.getText().toString().trim();
如果(TextUtils.isEmpty(电子邮件)){
Toast.makeText(getApplicationContext(),“输入电子邮件地址!”,Toast.LENGTH\u SHORT.show();
返回;
}
if(TextUtils.isEmpty(密码)){
Toast.makeText(getApplicationContext(),“输入密码!”,Toast.LENGTH\u SHORT.show();
返回;
}
if(password.length()<6){
Toast.makeText(getApplicationContext(),“密码太短,请输入至少6个字符!”,Toast.LENGTH_short).show();
返回;
}
if(TextUtils.isEmpty(name)){
Toast.makeText(getApplicationContext(),“输入名称”,Toast.LENGTH\u SHORT.show();
返回;
}
progressBar.setVisibility(View.VISIBLE);
//创建用户
auth.createUserWithEmailAndPassword(电子邮件,密码)
.addOnCompleteListener(signup.this,new OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
Toast.makeText(signup.this,“createUserWithEmail:onComplete:“+task.issusccessful(),Toast.LENGTH\u SHORT).show();
progressBar.setVisibility(View.GONE);
//如果登录失败,则向用户显示消息。如果登录成功
//将通知身份验证状态侦听器,并使用逻辑来处理
//可以在侦听器中处理已登录用户。
如果(!task.issusccessful()){
Toast.makeText(signup.this,“身份验证失败”。+task.getException(),
吐司。长度(短)。show();
}否则{
完成();
onAuthSuccess(task.getResult().getUser());
字符串user_id=auth.getCurrentUser().getUid();
startActivity(新意图(getApplicationContext(),LoginActivity.class));
}
}
私有void onAuthSuccess(FirebaseUser用户){
int型=1;
最终字符串名称=inputName.getText().toString().trim();
//新用户
writeNewUser(user.getUid(),名称,类型,user.getEmail());
startActivity(新意图(signup.this、LoginActivity.class));
完成();
}
编辑:谢谢peter haddad。我在我的登录活动
if(auth.getCurrentUser()!=null){
startActivity(新意图(LoginActivity.this、AdminActivity.class));
finish();
这就是为什么它会自动让我进入主活动,而不是登录

else {
finish();
onAuthSuccess(task.getResult().getUser());
String user_id = auth.getCurrentUser().getUid();
startActivity(new Intent(getApplicationContext(), LoginActivity.class));

 }
删除上面的
finish()

OP在onCreate下的登录活动中有以下内容:

if (auth.getCurrentUser() != null) { 
startActivity(new Intent(LoginActivity.this, AdminActivity.class)); 
finish();
}

因此,它总是立即将他指向AdminActivity。要解决此问题,他必须将其删除或/并将其添加到小部件下。

是的,一个新用户正在被添加到授权的firebase consoleinside方法中。成功编写此日志。i(“name”,name);在
最终字符串名称=inputName.getText().toString().trim()之后
然后查看日志中的内容,在日志中检查什么,先生?如果需要,您也可以查看一下。我已经解释了整个身份验证过程。这是管理活动。我的意思是,当我单击注册按钮上的注册时,它会再次转到管理活动或主要活动,而不是登录activity@Yamiess雷莫请使用此
writeNewUser(user.getUid(),name,type,user.getEmail());
进行测试并立即尝试,但我需要它来添加数据库中输入的数据,但仍然可以,它仍然会将我重定向到管理活动,而不是登录