2017-03-13 48 views
1

創建新帳戶後,我自動輸入它。 如何防止我的帳戶被創建?創建新帳戶後,我自動輸入它

firebaseAuth.createUserWithEmailAndPassword(em, pass).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
    @Override 
    public void onComplete(@NonNull Task<AuthResult> task) { 
     if (task.isSuccessful()) { 
      Toast.makeText(getApplicationContext(), "Пользователь добавлен", Toast.LENGTH_SHORT).show(); 
      progressDialog.dismiss(); 
     } else { 
      Toast.makeText(getApplicationContext(), "Пользователь не добавлен", Toast.LENGTH_SHORT).show(); 
      progressDialog.dismiss(); 
     } 
    } 
}); 

可能需要workes whis admin sdk? 可能是誰與管理員sdk的firebase android? 在使用管理員sdk方面是否有任何示例或教訓? 因爲我不明白如何處理這個問題。

+1

我剛纔不是回答你前面的問題:http://stackoverflow.com/questions/42765724/how-to-not-log-in-to-the-created-account#comment72648333_42765724?如果我的意見不明確,請回​​答這個問題,而不是打開一個新問題。 –

回答

1

我理解Firebase的工作方式是,如果任務成功,那麼Firebase實際上實際上會登錄用戶。

firebaseAuth.createUserWithEmailAndPassword(em, pass).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
      @Override 
      public void onComplete(@NonNull Task<AuthResult> task) { 
       if (task.isSuccessful()) { 

        FirebaseAuth.getInstance().getCurrentUser(); 
      //Ther will be a current user at this point. This is the way Firebase just works. 

        progressDialog.dismiss(); 
       } else { 
        Toast.makeText(getApplicationContext(), "Пользователь не добавлен", Toast.LENGTH_SHORT).show(); 
        progressDialog.dismiss(); 
       } 
      } 
     }); 

因此,您可以在任務成功後實際獲取用戶,因爲如果任務成功,用戶將自動設置。如果您在任務成功時不想有任何用戶。您可以撥打

  FirebaseAuth.getInstance().signOut(); 

這將註銷用戶,當你調用

Firebase.getInstance().getCurrentUser() 

這將返回任何結果,這樣會出現在你的系統的用戶。

firebaseAuth.createUserWithEmailAndPassword(em, pass).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
     @Override 
     public void onComplete(@NonNull Task<AuthResult> task) { 
      if (task.isSuccessful()) { 

       FirebaseAuth.getInstance().getCurrentUser(); 
     //Ther will be a current user at this point. This is the way Firebase just works. 
       FirebaseAuth.getInstance().signOut();// sign out the user 
       Firebase.geInstance().getCurrentUser(); // this will now be null 
       progressDialog.dismiss(); 
      } else { 
       Toast.makeText(getApplicationContext(), "Пользователь не добавлен", Toast.LENGTH_SHORT).show(); 
       progressDialog.dismiss(); 
      } 
     } 
    }); 
+0

Firebase.geInstance.getCurrentUser(); Firebase以紅色突出顯示 – shcherbuk

+0

Firebase.geInstance()。getCurrentUser();它已被糾正。弗蘭克已經回答了你的問題。你不應該重複你的問題。 –