在使用user.getDisplayName()时,我注意到我的应用程序中有一个bug。
如果帐户保存在Google上(但已从防火墙中删除),并且用户注册,则该函数返回null (即使图片和电子邮件显示得很好)。但是,如果我在“智能锁”对话框中选择“上述任何一个”,然后使用google帐户方法(与在智能锁中保存的方法相同)再次注册,该函数将返回正确的用户名。
总结:如果这是用户第一次注册,它应该工作,但如果他们删除帐户,并希望再次注册,智能锁是在某种程度上阻止了它的工作。对如何解决这个问题有什么想法吗?
发布于 2019-12-18 15:03:47
如果有人有同样的问题:我并没有真正解决它,但是解决方法是使用FirebaseAuthUI来删除帐户,而不是纯FirebaseAuth,因为它也从SmartLock中删除了帐户。作为一种选择,您还可以手动删除SmartLock中的帐户。根据FirebaseUI文档:
AuthUI.getInstance().delete(this).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
// Deletion succeeded
} else {
// Deletion failed
}
}
});https://stackoverflow.com/questions/58294409
复制相似问题