Метод отправки электронной почты для сброса пароля приводит к сбою приложенияAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Метод отправки электронной почты для сброса пароля приводит к сбою приложения

Сообщение Anonymous »

Я пытаюсь выполнить действие по забытию пароля, где есть поле EditText, в котором пользователь может ввести свой адрес электронной почты и нажать кнопку, и будет вызван метод sendPasswordResetEmail()... Итак, у меня есть такой код:

Код: Выделить всё

mAuth = FirebaseAuth.getInstance();
resetPasswordBtn = (Button)findViewById(R.id.resetPasswordButton);
resetPasswordFld = (EditText)findViewById(R.id.resetPasswordField);

final String email = resetPasswordFld.getText().toString().trim();

resetPasswordBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mAuth.sendPasswordResetEmail(email)
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
Toast.makeText(ResetPassword.this, "e-mail buat reset password sudah dikirimkan",Toast.LENGTH_LONG).show();
Intent loginIntent = new Intent (ResetPassword.this, LoginActivity.class);
startActivity(loginIntent);
}
}
});
}
});
Когда я попробовал, приложение вылетает, и я получаю этот журнал ошибок

Код: Выделить всё

03-23 16:28:59.829 6990-6990E/UncaughtException: java.lang.IllegalArgumentException: Given String is empty or null
at com.google.android.gms.common.internal.zzac.zzdv(Unknown Source)
at com.google.firebase.auth.FirebaseAuth.sendPasswordResetEmail(Unknown Source)
at com.ResetPassword$1.onClick(ResetPassword.java:37)
at android.view.View.performClick(View.java:6207)
at android.widget.TextView.performClick(TextView.java:11094)
at android.view.View$PerformClick.run(View.java:23639)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6688)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
03-23 16:28:59.833 6990-7024 D/FA: Logging event (FE): _ae, Bundle[{_o=crash, _sc=ResetPassword, _si=-8440426569227389093, timestamp=1490261339829, fatal=1}]
03-23 16:29:00.128 6990-6990 E/AndroidRuntime: FATAL EXCEPTION: main
Process: , PID: 6990
java.lang.IllegalArgumentException: Given String is empty or null
at com.google.android.gms.common.internal.zzac.zzdv(Unknown Source)
at com.google.firebase.auth.FirebaseAuth.sendPasswordResetEmail(Unknown Source)
at.ResetPassword$1.onClick(ResetPassword.java:37)
at android.view.View.performClick(View.java:6207)
at android.widget.TextView.performClick(TextView.java:11094)
at android.view.View$PerformClick.run(View.java:23639)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6688)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Я действительно убежден, что делаю это неправильно, поскольку mAuth обязательно вернет значение null, поскольку ни один пользователь не вошел в систему, верно? У меня возникли трудности с поиском хорошей документации по этому вопросу, и документация в документации Firebase на самом деле не помогает.
Должен быть способ сослаться на базу данных, чтобы проверить, действительно ли введенный адрес электронной почты существует... Но мои правила запрещают пользователям, которые не вошли в систему, получить к ним доступ... Так что я просто не понимаю, как с этим начать...

Подробнее здесь: https://stackoverflow.com/questions/429 ... es-the-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»