我想在我的SplashScreen活动中检查 ERROR_USER_DISABLED
. 我很好地处理了登录,注册等所有其他事情,并很好地捕获其他FirebaseExceptions . 但不是在这里...如果我在我的应用程序中授权用户,之后我在FireBase Authentication控制台屏幕中禁用用户并重新启动应用程序我有错误 Exception
,而不是 FirebaseAuthInvalidUserException
.
和那样的消息:
An internal error has occurred. [ {
"error":{
"code": 400,
"message": "USER_DISABLED",
"errors": [
{
"message": "USER_DISABLED",
"domain": "global",
"reason": "invalid"
}
]
}
} ]
但我想 grab FirebaseAuthInvalidUserException
和errorCode . 在其他地方我可以访问errorCode ...这里是简单的例外... =(
我剪切了功能代码并将其粘贴到此处 .
fun authCheck() {
val currentUser = FirebaseAuth.getInstance().currentUser
if (currentUser == null) {
Log.d("***", "User not found")
return
}
val task = currentUser.reload()
task.addOnCompleteListener(OnCompleteListener {
if (!it.isSuccessful) {
try {
if(task.exception != null) {
throw task.exception!!
}
else {
Log.d("***", "Task is null")
}
}
catch(e: FirebaseAuthInvalidUserException) {
Log.d("***", e.errorCode)
}
catch(e: Exception) {
Log.d("***", e.message)
}
} else {
Log.d("***", "Complete")
listener.onComplete()
}
})
}
我需要在此函数中捕获 ERROR_USER_DISABLED
, ERROR_USER_NOT_FOUND
, ERROR_USER_TOKEN_EXPIRED
和 ERROR_INVALID_USER_TOKEN
.