如何从 Firebase 更新电子邮件? UpdateEmail 方法已被弃用

Posted

技术标签:

【中文标题】如何从 Firebase 更新电子邮件? UpdateEmail 方法已被弃用【英文标题】:How to update email from Firebase? UpdateEmail method has been deprecated 【发布时间】:2021-07-23 01:50:12 【问题描述】:

我正在尝试从 FireBase 更新我的电子邮件,如何才能做到这一点? updateEmail 好像已被弃用?

FirebaseUser 用户=FirebaseAuth.getInstance().getCurrentUser(); AuthCredential credential= EmailAuthProvider.getCredential(user.getEmail(),edtPassword.getText().toString()); user.reauthenticate(credential).addOnCompleteListener(new OnCompleteListener() @覆盖 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】:

我有同样的问题,我在这里找到了解决方案:How to update email from Firebase in android?

要检索凭据的密码,您可以使用 SharedPreferences。

它对我有用;)

【讨论】:

以上是关于如何从 Firebase 更新电子邮件? UpdateEmail 方法已被弃用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift Firebase 中更新一个集合中的所有文档

如何在 Swift 4 中更新 Firebase 身份验证中的电子邮件地址

Firebase 电子邮件验证 Flutter

如何知道在 swift 4 中实时 Firebase 的 childChanged 事件类型中更新了哪个子子项

Firebase auth onUpdate 云功能,用于当用户更新他们的电子邮件时

如何从firebase中的电子邮件中获取用户信息