2017-10-25 8 views
1

in der Dokumentation der Suche, fand ich gerade dies:Passwort vergessen mit Feuerbasis von Login-Aktivität

FirebaseAuth auth = FirebaseAuth.getInstance(); 
String emailAddress = "[email protected]"; 

auth.sendPasswordResetEmail(emailAddress) 
     .addOnCompleteListener(new OnCompleteListener<Void>() { 
      @Override 
      public void onComplete(@NonNull Task<Void> task) { 
       if (task.isSuccessful()) { 
        Log.d(TAG, "Email sent."); 
       } 
      } 
     }); 

ich ein Problem habe, weil ich vergessen Passwort-Funktionalität in der Login-Aktivität implementieren müssen, wo FirebaseAuth weil Benutzer null ist ist nicht eingeloggt, also wie kann ich es herausfinden?

Antwort

2

Die FirebaseAuth.getInstance() Methode wird nie null zurückgeben, damit Ihr Code funktioniert.

Es ist die FirebaseAuth.getInstance().getCurrentUser() Methode, die null, wenn der Benutzer nicht angemeldet ist zurück

Vom Android Firebase Authentication getting started documentation.

eine Instanz von FirebaseAuth Deklarieren

private FirebaseAuth mAuth; 

Im onCreate() Verfahren Initialisieren Sie die FirebaseAuth-Instanz.

mAuth = FirebaseAuth.getInstance(); 

Wenn Ihre Aktivität Initialisierung überprüfen, um zu sehen, ob der Benutzer derzeit unterzeichnet in

@Override 
public void onStart() { 
    super.onStart(); 
    // Check if user is signed in (non-null) and update UI accordingly. 
    FirebaseUser currentUser = mAuth.getCurrentUser(); 
    updateUI(currentUser); 
} 

Und der Code, den Sie in Ihrer Frage ist aus der send a password reset section.

Sie können mit der Methode sendPasswordResetEmail eine E-Mail zum Zurücksetzen des Kennworts an einen Benutzer senden. Zum Beispiel:.

FirebaseAuth auth = FirebaseAuth.getInstance(); 
String emailAddress = "[email protected]"; 

auth.sendPasswordResetEmail(emailAddress) 
     .addOnCompleteListener(new OnCompleteListener<Void>() { 
      @Override 
      public void onComplete(@NonNull Task<Void> task) { 
       if (task.isSuccessful()) { 
        Log.d(TAG, "Email sent."); 
       } 
      } 
     }); 

Die emailAddress Variable wird hier angegeben, da der Benutzer nicht angemeldet ist

Verwandte Themen