2017-04-07 95 views

回答

2

發送密碼重置電子郵件

您可以發送密碼重置電子郵件與sendPasswordResetEmail方法的用戶。例如:

FirebaseAuth auth = FirebaseAuth.getInstance(); 
String emailAddress = "[email protected]"; 
auth.sendPasswordResetEmail(emailAddress) 
.addOnCompleteListener(new OnCompleteListener<Void>() { 
    @Override 
    public void onComplete(@NonNull Task<Void> task) { 
     if (task.isSuccessful()) { 
      Log.d(TAG, "Email sent."); 
     } 
    } 
}); 
+0

,請幫助我的電子郵件驗證過。首先驗證鏈接將被髮送到電子郵件地址,然後只有數據應該被添加到數據庫中。 –

+0

我試着把它放在一個函數中.. public void resetPass()然後在onClickListener中爲重置密碼按鈕調用這個函數,但是不起作用。 – LizG

0

在以下代碼中,我從用戶獲取電子郵件地址,並且按提供的電子郵件地址發送按鈕的單擊事件請求。直到任務未完成進度條顯示。

public class ResetPasswordActivity extends AppCompatActivity { 

EditText editTextEmail; //to get email address 
ProgressBar progressBar; //show progress bar 
Button buttonForgotPassword; //button for click 
FirebaseAuth firebaseAuth; 
String email; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_reset_password); 
    bindView(); 

    firebaseAuth = FirebaseAuth.getInstance(); 

    /*  click event of button 
    * */ 
    buttonForgotPassword.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      email = editTextEmail.getText().toString(); 

      /* check if email address is blank 
      * */ 
      if (TextUtils.isEmpty(email)) { 
       editTextEmail.setError("Fill Email");  //if blank display error 
      } 

      progressBar.setVisibility(View.VISIBLE); //set visibility 

      /* 
      *  send request for reset password 
      * */ 
      firebaseAuth.sendPasswordResetEmail(email).addOnCompleteListener(new OnCompleteListener<Void>() { 
       @Override 
       public void onComplete(@NonNull Task<Void> task) { 

        if (task.isSuccessful()) { 
         Toast.makeText(ResetPasswordActivity.this, "Successfully send you response", Toast.LENGTH_SHORT).show(); 
        } else { 
         Toast.makeText(ResetPasswordActivity.this, "Failed to Send", Toast.LENGTH_SHORT).show(); 
        } 
        progressBar.setVisibility(View.GONE); 
       } 
      }); 
     } 
    }); 
} 

/*  UDF 
* */ 
private void bindView() { 
    editTextEmail = (EditText) findViewById(R.id.activity_reset_password_edit_text); 
    progressBar = (ProgressBar) findViewById(R.id.activity_reset_progressBar); 
    buttonForgotPassword = (Button) findViewById(R.id.activity_reset_password_forgot_password_button); 
} 

}