Die Methode „E-Mail zum Zurücksetzen des Passworts senden“ führt zum Absturz der AppAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Die Methode „E-Mail zum Zurücksetzen des Passworts senden“ führt zum Absturz der App

Post by Anonymous »

Ich versuche, eine Aktivität „Passwort vergessen“ zu erstellen, bei der es ein EditText-Feld gibt, in das der Benutzer seine E-Mail-Adresse eingeben und auf eine Schaltfläche klicken kann, und die sendPasswordResetEmail()-Methode aufgerufen wird ... Der Code, den ich habe, ist also dieser

Code: Select all

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);
}
}
});
}
});
Als ich es ausprobiert habe, stürzte die App ab und ich bekam dieses Fehlerprotokoll

Code: Select all

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)
Ich bin tatsächlich davon überzeugt, dass ich das falsch mache, da mAuth definitiv null zurückgibt, da kein Benutzer angemeldet ist, oder? Ich habe Schwierigkeiten, eine gute Dokumentation dazu zu finden, und die Dokumentation in den Firebase-Dokumentationen hilft nicht wirklich weiter.
Es muss eine Möglichkeit geben, auf eine Datenbank zu verweisen, um zu überprüfen, ob die eingegebene E-Mail-Adresse wirklich existiert … Aber meine Regeln verhindern, dass Benutzer, die nicht angemeldet sind, darauf zugreifen … Ich bin also wirklich verwirrt, wie ich damit anfangen soll …

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post