AuthListener多次调用

时间:2016-08-19 06:54:04

标签: android firebase firebase-authentication

我正在使用Google的Firebase来实现与Facebook的登录。

根据firebase auth文档,我注册了一个监听器。

@Override
protected void onCreate(Bundle savedInstanceState) {

   super.onCreate(savedInstanceState);
   FacebookSdk.sdkInitialize(getApplicationContext());
   _fbCallbackManager = CallbackManager.Factory.create();

   mAuth = FirebaseAuth.getInstance();

   setContentView(R.layout.activity_login);

   configureNoLoginButton();
   configureFbLoginButton();

   mAuthListener = new FirebaseAuth.AuthStateListener() {
       @Override
       public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
           FirebaseUser user = firebaseAuth.getCurrentUser();
           if (user != null) {
              // User is signed in
               startMainActivity(mAuth.getCurrentUser());
           } else {
               // User is signed out
               Toast.makeText(LoginActivity.this, "User is signed out", Toast.LENGTH_SHORT).show();
           }
           // ...
       }
   };
}

我在监听器中设置了一个断点,并且它被称为3次与用户!= null。

根据文档,在这些情况下可能会调用侦听器:https://firebase.google.com/docs/auth/users#the_user_lifecycle

第一次调用监听器时启动主活动是个好主意吗? (即放一个柜台 - 如果是第一次,开始主要活动;否则,什么都不做)。

0 个答案:

没有答案