2017-01-17 7 views
0

동일한 이메일을 가진 사용자가 이미 등록되었다고 말하면서 토스트를 트리거해야합니다. 내 코드에서 등록에 문제가있을 때 트리거합니다. 예를 들어 암호가 너무 짧습니다. 그러나 사용자가 이미 찍은 전자 메일에 등록하려고 할 때 그는 알지 못합니다. 도와주세요. 내 코드를 어떻게 수정해야합니까? 이후 다른Firebase android auth email 이미 존재 특수 트리거

private void registerUser(){ 
    String email = editTextemail.getText().toString().trim(); 
    String password = editTextpassword.getText().toString().trim(); 

    if(TextUtils.isEmpty(email)){ 
     Toast.makeText(this, "Enter email ", Toast.LENGTH_SHORT).show(); 
    return; 
    } 

    if(TextUtils.isEmpty(password)){ 
     Toast.makeText(this, "enter password", Toast.LENGTH_SHORT).show(); 
    return; 
    } 
    progressDialog.setMessage("please wait..."); 
    progressDialog.show(); 
    firebaseAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
     @Override 
     public void onComplete(@NonNull Task<AuthResult> task) { 
      if(task.isSuccessful()){ 
       progressDialog.dismiss(); 
       Toast.makeText(MainActivity.this, "registration complete", Toast.LENGTH_SHORT).show(); 

      }else{ 
       progressDialog.dismiss(); 
       Toast.makeText(MainActivity.this, "Email is invalid or password contains less than 6 symbols", Toast.LENGTH_SHORT).show(); 

      } 
     } 
    }); 
} 

답변

0

편집 코드 :

progressDialog.dismiss();  

String message = "The email address is already in use by another account."  

if (task.getException().getMessage().equals(message)) 
     Toast.makeText(MainActivity.this, message, Toast.LENGTH_SHORT).show();  
else  
    Toast.makeText(MainActivity.this, "Email is invalid or password contains less than 6 symbols", Toast.LENGTH_SHORT).show();