2017-03-13 2 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(); 
     } 
    } 
}); 

필요할 수 있습니다. whis admin sdk? 관리자 sdk firebase android와 (과) 누가 공동 작업 할 수 있습니까? admin 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(); 
       } 
      } 
     }); 

작업이 성공적으로 완료되면 사용자가 자동으로 설정되므로 작업을 완료 한 후에 실제로 사용자를 확보 할 수 있습니다. 작업이 성공했을 때 사용자가 없으면 좋을 것입니다. 당신은 아무것도 돌려주지 않는 것

Firebase.getInstance().getCurrentUser() 

이를 호출 할 때 당신은 당신의 시스템에는 사용자가 없을 것입니다 그런 식으로,

  FirebaseAuth.getInstance().signOut(); 

이 사용자가 로그 아웃됩니다 호출 할 수 있습니다.

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(); 수정되었습니다. 프랭크는 이미 당신의 질문에 대답했습니다. 질문을 중복해서는 안됩니다. –

관련 문제