首页 文章

firebase直接auth与电子邮件和密码

提问于
浏览
1

嗨,当我想允许玩家通过按钮登录时,我使用此功能

firebase.auth().signInWithEmailAndPassword(email, password);

这是第一次登录的好方法 . 但我想允许直接登录而不点击登录按钮 . 直接登录的最佳方式是什么?我尝试在离线存储中存储电子邮件和密码或令牌,并使用signinwithemailandpassword方法 . 但如果存在一个简单的firebase函数则更好

1 回答

  • 1

    如果您的启动器活动是您的LoginActivity,请将其添加到您的代码中 .

    private FirebaseAuth mAuth;
    private FirebaseAuth.AuthStateListener mAuthListener;
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
    
        mAuth = FirebaseAuth.getInstance();
        mAuthListener = new FirebaseAuth.AuthStateListener() {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                FirebaseUser user = firebaseAuth.getCurrentUser();
                if (user != null) {
                    // User is already signed in
                    launchMainActivity();
    
    
                } else {
                    // User is not yet signed in
                }
            }
        };
    
    }
    
    @Override
    protected void onStart() {
        super.onStart();
        mAuth.addAuthStateListener(mAuthListener);
    }
    
    @Override
    protected void onStop() {
        super.onStop();
        if (mAuthListener != null) {
            mAuth.removeAuthStateListener(mAuthListener);
        }
    }
    

    或者,您可以在LoginActivity的onCreate,onResume或onStart中使用它

    if(FirebaseAuth.getInstance().getCurrentUser() != null){
      launchMainActivity();
    }
    

相关问题