我已开始使用新的Firebase SDK.
当我正在进行用户登录时,我的onAuthStateChanged方法被调用两次,状态相同(等用户登录).
我确定我只将一次AuthStateListener添加到FirebaseAuth引用中.
有帮助吗?
当我的应用程序启动时,我会在Firebase数据库中检查当前用户的详细信息(我正在存储它的uid).
我将addListenerForSingleValueEvent附加到用户的ref以读取它的数据.
我的问题是,有时,它不会带来任何价值,既不成功也不失败.
只清除应用程序的数据才能解决问题,但当然会强制用户再次登录.
我在SO阅读了一些帖子,但没有找到任何解决方案.
这是我的一段代码:
DatabaseReference newUser =
FirebaseDatabase.getInstance().getReference("users/"+uid);
newUser.addListenerForSingleValueEvent(new ValueEventListener()
@Override
public void onDataChange(DataSnapshot snapshot) {}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
Run Code Online (Sandbox Code Playgroud)