Um festzustellen, ob ein Benutzer mit dieser E-Mail-Adresse bereits existiert, können Sie erkennen, wenn der Aufruf von createUserWithEmailAndPassword ()
mit auth/email-already-in-use
fehlschlägt. Ich sehe, dass @Srinivasan gerade eine Antwort dafür gepostet hat.
Alternativ können Sie feststellen, dass eine E-Mail-Adresse bereits verwendet wird, indem Sie fetchProvidersForEmail()
aufrufen: Ссылка
Zunächst müssen Sie sicherstellen, dass diese Einschränkung in der Firebase-Konsole aktiviert ist (Einstellungen für Konto und E-Mail-Adresse). Sehen Sie sich @ Srinivasans Antwort an.
Dann mach das in deinem Java-Code:
%Vor%Hier kommt der Trick vor:
%Vor% Bei der Registrierung eines Benutzers mit E-Mail und Passwort können mehrere Ausnahmen ausgelöst werden, aber die, an der wir interessiert sind, ist FirebaseAuthUserCollisionException
. Wie der Name schon sagt, wird diese Ausnahme ausgelöst, wenn die E-Mail bereits existiert. Wenn die ausgelöste Ausnahme eine Instanz dieser Klasse ist, informieren Sie den Benutzer.
Als eine Praxis von @ Franks Antwort hier ist der Code der Verwendung von fetchProvidersForEmail()
Ich habe diese Art von Bedingung untersucht, in der wir feststellen können, ob ein Benutzer existiert oder nicht und eine Registrierung und Anmeldung durchführt. fetchProvidersForEmail
ist momentan die beste Option. Ich habe dieses Tutorial gefunden. Hoffe es hilft dir auch!
Fügen Sie den folgenden Code zur Datei MainActivity.java hinzu. Wenn der Benutzer versucht, sich mit derselben E-Mail-Adresse zu registrieren, wird die Meldung "Die E-Mail-Adresse wird bereits von einem anderen Konto verwendet" als angezeigt Toast
%Vor%Sie müssen nichts tun, weil das Backend von Firebase die Aufgabe erledigt.
Es sei denn, Sie beziehen sich auf die erneute Authentifizierung der App. Nehmen Sie ein Szenario für ein Beispiel, w
Tags und Links android firebase firebase-authentication