【问题标题】:Firebase Android Reset password errorFirebase Android 重置密码错误
【发布时间】:2017-04-16 20:58:29
【问题描述】:

这是用户界面的截图:

我不知道代码有什么问题。我只是想向用户的电子邮件发送重置密码电子邮件。如果您愿意,可以查看完整代码here。非常感谢任何帮助,在此先感谢! :D

代码:

    public void PassResetViaEmail(View view)
{
    AlertDialog.Builder alertdialog = new AlertDialog.Builder(Settings.this);
    alertdialog.setTitle("Reset password");
    alertdialog.setMessage("Enter email below");

    input = new EditText(this);
    email = input.getText().toString().trim();
    alertdialog.setView(input);


    alertdialog.setPositiveButton("Send", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            ResetEmailSender();
        }
    });
    alertdialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();
        }
    });
    alertdialog.show();
}

public void ResetEmailSender()
{
    auth = FirebaseAuth.getInstance();
    auth.sendPasswordResetEmail(email)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                        Toast.makeText(Settings.this, "We have sent you instructions to reset your password!", Toast.LENGTH_SHORT).show();
                    } else {
                        Toast.makeText(Settings.this, "Failed to send reset email!", Toast.LENGTH_SHORT).show();
                    }
                }
            });
}

错误:

                                                                  java.lang.IllegalArgumentException: Given String is empty or null
                                                                      at com.google.android.gms.common.internal.zzac.zzdr(Unknown Source)
                                                                      at com.google.firebase.auth.FirebaseAuth.sendPasswordResetEmail(Unknown Source)
                                                                      at com.safariagaming.flix.Settings.ResetEmailSender(Settings.java:107)
                                                                      at com.safariagaming.flix.Settings$2.onClick(Settings.java:92)
                                                                      at android.support.v7.app.AlertController$ButtonHandler.handleMessage(AlertController.java:161)
                                                                      at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                      at android.os.Looper.loop(Looper.java:154)
                                                                      at android.app.ActivityThread.main(ActivityThread.java:6119)
                                                                      at java.lang.reflect.Method.invoke(Native Method)
                                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

【问题讨论】:

  • java.lang.IllegalArgumentException: Given String is empty or null
  • @MarcinOrlowski 我知道,但问题是这是不可能的,因为我输入了一封电子邮件......有什么想法吗?

标签: android xml firebase firebase-authentication


【解决方案1】:

事情是不可能的,因为我输入了一封电子邮件

也许你做到了,但这并没有什么不同,因为你得到了这个非常奇怪的代码:

input = new EditText(this);
email = input.getText().toString().trim();

创建EditText 并立即读取它是没有意义的。它不会每次都给你空字符串,因为它甚至还没有显示出来。您应该考虑在对话框关闭后阅读它。

【讨论】:

  • 如果这个答案解决了你的问题,请accept it
猜你喜欢
  • 1970-01-01
  • 2018-10-13
  • 2013-01-14
  • 1970-01-01
  • 1970-01-01
  • 2016-07-11
  • 2017-08-02
  • 2020-10-04
相关资源
最近更新 更多