FirebaseAuth.getInstance().getCurrentUser
为null
,如果用户已从该应用实例登录到Firebase
,则为非空。如果正确注册,当身份验证状态发生变化时,即用户登录或注销时,将调用AuthStateListener
。
我想知道FirebaseAuth.getInstance().getCurrentUser
是否有可能突然开始返回null(假设它已经返回非null FirbaseUser
直到该点)调用前面提到的听众。
如果无法实现,那么我可以安全地使用FirebaseAuth.getInstance().getCurrentUser
而无需担心NPE
。
Firebase
文档中没有任何地方可以保证当且仅当AuthStateListener
返回的值发生更改时才会调用FirebaseAuth.getInstance().getCurrentUser
。
答案 0 :(得分:1)
来自Firebase Auth团队的Malcolm。作为the documentation states,将触发AuthStateListener:
这是一个隐含的承诺,如果用户状态发生更改(并且注销是用户状态更改),将触发AuthStateListener。
希望有所帮助!