检查用户是否是首次使用Firebase Auth和数据库登录Android应用程序

我正在制作一个聊天应用程序,我想要执行以下操作:

启动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值。

一种检查是否是用户首次登录的方法也很有用,尽管这并不能解决我的全部问题。


海绵宝宝撒
浏览 165回答 2
2回答

繁星点点滴滴

我认为最简单的方法是,如果用户单击完成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.              }            });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java