在 Firebase Auth 对象上添加一个 AuthStateListener,仅当用户状态发生重大更改时才进行操作。例如在登录或注销时触发,而不是不必要地多次触发。
示例代码:
FirebaseAuth mAuth = FirebaseAuth.getInstance();
mAuth.addAuthStateListener(new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user = firebaseAuth.getCurrentUser(); if (user == null) { // User is signed out } else { // User is signed in } } });
通过这种方式,您可以避免在 Android 端触发 authStateChanges 和 userChanges 这些事件太多次。