0
votes

I am trying to update my email from FireBase, how can I achive this? updateEmail looks like has been depreacated?

FirebaseUser user=FirebaseAuth.getInstance().getCurrentUser(); AuthCredential credential= EmailAuthProvider.getCredential(user.getEmail(),edtPassword.getText().toString()); user.reauthenticate(credential).addOnCompleteListener(new OnCompleteListener() { @Override public void onComplete(@NonNull Task task) { if(task.isSuccessful()){

                 FirebaseAuth.getInstance().fetchSignInMethodsForEmail(edtEmail.getText().toString())
                         .addOnCompleteListener(new OnCompleteListener<SignInMethodQueryResult>() {
                             @Override
                             public void onComplete(@NonNull Task<SignInMethodQueryResult> task) {
                                  if(task.isSuccessful()){

                                      if(task.getResult().getSignInMethods().size()==0){
                                            
                                         Here--------------------------------->

                                      }else {
                                          Toast.makeText(AccountSettingsActivity.this,"The Email is alread in use",Toast.LENGTH_SHORT).show();
                                      }

                                  }else {
                                      Toast.makeText(AccountSettingsActivity.this,"Task is not successfull in fetch",Toast.LENGTH_SHORT).show();
                                  }
                             }
                         }).addOnFailureListener(new OnFailureListener() {
                     @Override
                     public void onFailure(@NonNull Exception e) {
                         progressBar.setVisibility(View.GONE);
                         Toast.makeText(AccountSettingsActivity.this,"Unable to edt email",Toast.LENGTH_SHORT).show();
                     }
                 });

            }else {
                Toast.makeText(AccountSettingsActivity.this,"Task is not successfull", Toast.LENGTH_LONG).show();
            }
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
             progressBar.setVisibility(View.GONE);
             Toast.makeText(AccountSettingsActivity.this,"Unable to update email failure",Toast.LENGTH_LONG).show();
        }
    });
}
1

1 Answers

0
votes

I had the same issu and I found the solution here : How to update email from Firebase in Android?

To retrieve password for credential you can use SharedPreferences.

It worked for me ;)