我正在使用Firebase 12.0.1。在500-1000个用户中,偶尔(但有时也不是),我的应用在执行FirebaseAuth.getInstance().getCurrentUser
时会遇到NPE。我在底部附加了崩溃报告的屏幕截图。
我在堆栈跟踪中显示的setupPage1
正在执行以下行:
val provdata = FirebaseAuth.getInstance().currentUser?.providerData
在吸引用户之前,我需要采取一些预防措施吗?在上述代码运行之前,用户通过以下方式登录到FA
this.authMgr.signInWithCredential(credential).addOnCompleteListener(this) { task: Task<AuthResult> ->
if (task.isSuccessful) {
val user = task.result.user
user?.getIdToken(false)?.addOnCompleteListener { task: Task<GetTokenResult> ->
if (task.isSuccessful) {
...stuff is done in here that leads to getCurrentUser
答案 0 :(得分:0)
很难确定没有MCVE,但是我的第一个猜测是,这可能是在Firebase仍在确定用户是否已登录的时候。您应该始终在其中检查 if 是当前用户:
val user = FirebaseAuth.getInstance().currentUser
if (user != null) {
val provdata = user!.providerData
...
}
答案 1 :(得分:0)
根据我收到的支持回复,这是一个已知问题,已在v15.0.1中修复。我尚未升级以进行验证。