【发布时间】:2020-08-05 19:18:41
【问题描述】:
在 OnAuthStateChanged 中调用 Firebase reload() 是个好主意吗?最初我会在应用程序初始化期间调用 reload() ,但不能保证 FirebaseUser 对象已经加载。如果用户不为空,则似乎一种干净的方法是在 OnAuthStateChanged() 内部调用。逻辑是返回的用户配置文件将匹配缓存的内容,并且不会发出对 OnAuthStateChanged 的后续调用。它有效 - 但我有点担心一个失控的循环,原因对我来说可能并不明显。
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth)
{
final FirebaseUser user = mAuth.getCurrentUser();
//call reload here???
if (user != null)
{
user.reload().addOnFailureListener(new OnFailureListener()
{
@Override
public void onFailure(@NonNull Exception e)
{
if (e instanceof FirebaseAuthInvalidUserException)
{
Log.e(TAG, "INVALID USER EXCEPTION: " + e);
Disconnect();
SignOut();
}
}
});
}
}
【问题讨论】:
标签: android firebase firebase-authentication