Java Firebase Auth在单击按钮时不启动活动,但在关闭并重新打开应用程序时有效

Java Firebase Auth在单击按钮时不启动活动,但在关闭并重新打开应用程序时有效,java,android,firebase,firebase-authentication,Java,Android,Firebase,Firebase Authentication,单击按钮时,Firebase身份验证未在HomeActivitiy上启动 它仅在重新打开应用程序时有效 public class Auth1Activity extends AppCompatActivity { String string_1; String string_2; private static final Boolean CHECK_EMAIL_VERIFIED = false; private static final String TAG

单击按钮时,Firebase身份验证未在
HomeActivitiy
上启动

它仅在重新打开应用程序时有效

public class Auth1Activity extends AppCompatActivity {

    String string_1;
    String string_2;

    private static final Boolean CHECK_EMAIL_VERIFIED = false;
    private static final String TAG = "LoginActivity";

    private FirebaseAuth firebaseAuth;
    private FirebaseAuth.AuthStateListener authStateListener;
    private FirebaseUser firebaseUser;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_auth_1);
        firebaseAuth = FirebaseAuth.getInstance();

        authStateListener = new FirebaseAuth.AuthStateListener() {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
            }
        };

        firebaseUser = firebaseAuth.getCurrentUser();

        if (firebaseUser != null) {
            Intent intent = new Intent(Auth1Activity.this, HomeActivity.class);
            startActivity(intent);
            finish();
        }

        final EditText auth_layout_1_edit_text_1 = findViewById(R.id.auth_layout_1_edit_text_1);
        final EditText auth_layout_1_edit_text_2 = findViewById(R.id.auth_layout_1_edit_text_2);
        Button auth_layout_1_button = findViewById(R.id.auth_layout_1_button);

        auth_layout_1_button.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                string_1 = auth_layout_1_edit_text_1.getText().toString();
                string_2 = auth_layout_1_edit_text_2.getText().toString();

                if (string_1.matches("") && string_2.matches("")) {
                    auth_layout_1_edit_text_1.setError("Enter Email Address");
                    auth_layout_1_edit_text_2.setError("Enter Password");
                } else if (!string_1.matches("") && !string_2.matches("")) {
                    firebaseAuth.signInWithEmailAndPassword(string_1, string_2)
                        .addOnCompleteListener(Auth1Activity.this, new OnCompleteListener<AuthResult>() {

                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            try {
                                if (firebaseUser.isEmailVerified()) {
                                    Intent intent = new Intent(Auth1Activity.this, HomeActivity.class);                                   
                                    startActivity(intent);
                                    finish();
                                } else if (!firebaseUser.isEmailVerified()) {
                                    Toast.makeText(Auth1Activity.this, "Sign Up Error Please Try Again.", Toast.LENGTH_SHORT).show();
                                }
                            } catch (NullPointerException ignored) {

                            }
                        }
                    });
                }
            }
        });
    }

    @Override
    public void onStart() {   
        super.onStart();
        firebaseAuth.addAuthStateListener(authStateListener);    
    }

    @Override
    public void onStop() {
        super.onStop();

        if (authStateListener != null) {
            firebaseAuth.removeAuthStateListener(authStateListener);
        }
    }
}
公共类Auth1活动扩展了AppCompative活动{
字符串_1;
字符串2;
私有静态最终布尔检查\u电子邮件\u验证=false;
私有静态最终字符串TAG=“LoginActivity”;
私有FirebaseAuth FirebaseAuth;
私有FirebaseAuth.AuthStateListener AuthStateListener;
私有FirebaseUser FirebaseUser;
@凌驾
创建时受保护的void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u auth\u 1);
firebaseAuth=firebaseAuth.getInstance();
authStateListener=新的FirebaseAuth.authStateListener(){
@凌驾
AuthStateChanged上的公共void(@NonNull FirebaseAuth FirebaseAuth){
}
};
firebaseUser=firebaseAuth.getCurrentUser();
if(firebaseUser!=null){
意向意向=新意向(Auth1Activity.this、HomeActivity.class);
星触觉(意向);
完成();
}
final EditText auth_layout_1_edit_text_1=findviewbyd(R.id.auth_layout_1_edit_text_1);
final EditText auth_layout_1_edit_text_2=findviewbyd(R.id.auth_layout_1_edit_text_2);
Button auth_layout_1_Button=findViewById(R.id.auth_layout_1_Button);
auth_layout_1_button.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
string_1=auth_layout_1_edit_text_1.getText().toString();
string_2=auth_layout_1_edit_text_2.getText().toString();
if(string_1.matches(“”)和string_2.matches(“”){
auth_layout_1_edit_text_1.setError(“输入电子邮件地址”);
auth_layout_1_edit_text_2.设置错误(“输入密码”);
}else如果(!string_1.匹配(“”)&!string_2.匹配(“”){
firebaseAuth.signInWithEmailAndPassword(字符串1、字符串2)
.addOnCompleteListener(Auth1Activity.this,新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
试一试{
if(firebaseUser.isEmailVerified()){
意向意向=新意向(Auth1Activity.this、HomeActivity.class);
星触觉(意向);
完成();
}如果(!firebaseUser.isEmailVerified()),则为else{
Toast.makeText(Auth1Activity.this,“注册错误,请重试。”,Toast.LENGTH\u SHORT.show();
}
}捕获(忽略NullPointerException){
}
}
});
}
}
});
}
@凌驾
在开始时出现公共无效({
super.onStart();
firebaseAuth.addAuthStateListener(authStateListener);
}
@凌驾
公共void onStop(){
super.onStop();
if(authStateListener!=null){
firebaseAuth.removeAuthStateListener(authStateListener);
}
}
}
可能出什么问题了?

试试这种方法

    authStateListener = new FirebaseAuth.AuthStateListener() {

    @Override
    public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
          firebaseUser = firebaseAuth.getCurrentUser();

          if (firebaseUser != null) {

          Intent intent = new Intent(Auth1Activity.this, HomeActivity.class);
          startActivity(intent);
          finish();

        }

    }

};
1) 不要太粗体2)调试代码告诉您什么,