我正在制作一个聊天应用程序,我想要执行以下操作:启动MainActivity时,请检查用户是否已登录。否则,请启动FirebaseAuthUI。但是FirebaseAuth仅支持几个参数,并且要添加更多参数,我为每个用户创建了一个Database节点,该节点存储其他参数。为了获得此参数,在完成FirebaseAuth之后,将用户重定向到“活动”,该活动将获取所有额外信息并存储在数据库的用户节点中。所有这一切都很好。但是,当用户在此Info Activity中填写信息并完成注册后,它应返回MainActivity并停留在该位置。我怎样才能做到这一点?我正在这样尝试:我为每个用户添加了一个名为的布尔变量userCompleted,该变量通知用户是否已经提供了他们的信息。我检查此变量是否为false,如果是,则调用Info Activity意图,当用户按下按钮以完成此Activity中的注册时,它将userCompleted值设置true为Database中的用户节点,然后启动一个导致MainActivity的意图。问题是,在数据库中,userCompleted将其设置为true,然后立即返回到false,我不知道为什么。另外,我想我在userCompleted从数据库中读取时遇到了麻烦,可能是因为我在异步任务方面工作不多。我使用了isUserCompleted在Main Activity中声明的变量来跟踪userCompleted值。一种检查是否是用户首次登录的方法也很有用,尽管这并不能解决我的全部问题。
2 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
我认为最简单的方法是,如果用户单击完成Btn,则成功将其设置为true,否则将其设置为false
在你的 MainActivity
firebase.auth().onAuthStateChanged(function(user) {
// User signed in and not registered
if (user&&!isPressedOnFinishBtn) {
// User is signed in.
}
user clicked on finish btn
else if(isPressedOnFinishBtn) {
// No user is signed in.
}
});
添加回答
举报
0/150
提交
取消