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(); 
関連する問題