我正在测试我在丢失互联网连接时使用Firebase实现的身份验证代码。
这是我尝试使用电子邮件和密码注册用户的代码:
js
这是registerUser方法的代码:
if (isConnected()) {
FirebaseAuthentication.registerUser(email, password);
} else {
Log.d(TAG, "Network ERROR");
}
在测试时,我偶尔发现自己处于FirebaseAuth.getInstance()之后连接丢失的情况。之后调用了createUserWithEmailAndPassword(..)...所以我得到的是在身份验证中创建了一个用户在Firebase控制台中列出...但日志行显示在logcat中(任务不成功)。当我试图获得当前用户时,我得到了空! ...当我在连接恢复时重试注册时......我知道电子邮件地址已经存在......所以如何避免这种情况
答案 0 :(得分:1)
我想到了一个工作,很高兴它有效! ...
问题是当连接丢失时,身份验证过程在向Firebase控制台添加新用户时却停滞不前,但没有引用它来操作代码。换句话说,getCurrentUser()返回null。
解决方案:当连接恢复并且在尝试再次重新注册用户之前,使用注册时使用的凭据登录用户并瞧!!现在你有了你的参考...现在你可以删除用户并重新开始整个注册过程,或者你可以从连接丢失的地方继续。