2017-09-27 40 views
0

後我測試我的互聯網連接中斷時使用火力地堡實施的認證碼的互聯網連接。失去剛剛打電話createUserWithEmailAndPassword(電子郵件,密碼)

這是我嘗試使用電子郵件地址和密碼註冊用戶代碼:

if (isConnected()) { 
     FirebaseAuthentication.registerUser(email, password); 
} else { 
     Log.d(TAG, "Network ERROR"); 
} 

這是registerUser方法的代碼:

public static void registerUser(String email, String password) { 

    FirebaseAuth.getInstance().createUserWithEmailAndPassword(email, 
    password).addOnCompleteListener(new OnCompleteListener<AuthResult>() { 
     @Override 
     public void onComplete(@NonNull Task<AuthResult> task) { 
      if (task.isSuccessful()) { 
       // Sign in success. Do things 

      } else { 
       // If sign in fails 
       Log.d("AuthEngineDebugger", "Something went wrong"); 
      } 
     } 
    }); 

} 

測試時,有時我發現自己其中,連接只是FirebaseAuth.getInstance()。createUserWithEmailAndPassword(..)被稱爲後丟失的情況......所以我得到的是,有在火力地堡控制檯認證列表中創建一個用戶...但是日誌行顯示在logcat中(任務不成功) 。而當我試圖讓當前用戶,我得到空! ......當我重新嘗試恢復連接時註冊......我得到的電子郵件地址已存在......因此,如何避免

回答

1

我想工作的周圍,很高興它的工作! ...

問題是,當連接丟失,認證過程是停留在添加新用戶到火力地堡控制檯,但沒有提到它的代碼操作。換句話說,getCurrentUser()返回null。

解決方案:當連接被恢復,並試圖再次重新註冊用戶之前,使用在註冊使用,瞧憑證登錄用戶!!現在你有了你的參考資料......現在你可以刪除用戶並重新開始整個註冊過程,或者你可以從連接丟失的地方繼續。