当注册片段中的用户输入 username
、email
和 password
时,他会被转发到我向他发送电子邮件验证的验证片段,他会一直停留在该屏幕上,直到他点击电子邮件中的链接,然后将他转发到个人资料片段。
当用户在验证片段上时,他可以在单击我发送的电子邮件中的链接之前返回到注册片段。在这种情况下,我从 onStart() 调用一个函数从 Firebase 中删除他的数据:
private fun deleteUnverifiedAccount() {
val firebaseAuthentication = FirebaseAuth.getInstance()
if (firebaseAuthentication.currentUser == null) {
shortToast("empty")
}
if (firebaseAuthentication.currentUser != null) {
if (!firebaseAuthentication.currentUser.isEmailVerified) {
val user = firebaseAuthentication.currentUser
user.delete()
.addOnCompleteListener {
shortToast("deleted")
}
}
}
}
问题来了:
deleteUnverifiedAccount()
函数被调用时,它说 currentUser == null
即使他在 Firebase 身份验证中显然不是空的。答案 0 :(得分:0)
首先我没有尝试从 firebase 中删除任何用户,但我刚刚搜索了一些东西,我发现这个链接 https://www.javatpoint.com/firebase-realtime-database-update-and-delete 这个链接会帮助你,因为我认为你的代码有问题,你试图删除你的用户,但没有用户的数据。 你的语法是这样的
myFirebase.child(current user's id).remove value
你能在 user.delete() 之前试试这个吗,我希望它有效