我的应用通过Facebook/Firebase进行身份验证。整个应用程序是由片段和ofc一个活动进行的。
案例(简单(:
有2个片段:howToFragment
和mainFragment
。
从Firebase和Facebook清除缓存和signout
后,我卸载了应用程序。
在howToFragment
,我检查是否已经有用户登录。
override fun onStart() {
super.onStart()
firebaseAuth = FirebaseAuth.getInstance()
val user = firebaseAuth!!.currentUser
if (user != null) {
this.view?.let { Navigation.findNavController(it).navigate(R.id.action_howtoFragment_to_mainFragment) } // This will be navigated to main fragment.
}
/*firebaseAuth!!.signOut()
LoginManager.getInstance().logOut()*/
}
然后我在调试模式下安装应用程序。我看到该用户已登录并导航到主片段。当我检查用户的ID时,我看到它是我的主要Facebook帐户ID(ofc我用它做了很多测试,但从未使用过2周,它甚至没有登录Facebook应用程序(
之后,我关闭应用程序(不卸载(。当我再次打开它时,我看到没有登录用户,firebaseAuth 为空。(我不知道它是如何注销的,因为应用程序中没有注销的代码(但Facebook是登录状态。
我想,我错过了一个明显的观点,但是呢?
是否有默认用户或错误缓存?
当我试图找到解决方案时,我得到了这个问题和答案。
问题答案