我正在制作一個聊天應用程序,我想要執行以下操作:啟動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
提交
取消