Ich habe Firebase in meiner App seit mehreren Monaten erfolgreich verwendet. Ich habe gerade die Aktualisierung beendet, um die Version 9.0.0 zu verwenden, und ich habe noch ein Problem, das ich nicht herausfinden kann.Firebase-Einzelwert-Ereignis-Listener gibt
In meiner MainActivity onCreate Funktion überprüfe ich, ob der Benutzer bei Firebase angemeldet ist. Wenn der Benutzer angemeldet ist, versuche ich das Benutzerobjekt, das ich in meiner Datenbank habe, zu holen.
Dies ist die einzige Instanz in der App, bei der ich Probleme damit habe. Ich habe überprüft, dass der Benutzer angemeldet ist und die DatabaseReference auf die richtige URL verweist.
Die DatabaseReference wird erstellt, und der Hörer wird hinzugefügt, aber nichts auf dem Zuhörer immer feuert ...
FirebaseAuth auth = FirebaseAuth.getInstance();
if (auth != null && auth.getCurrentUser() != null) {
DatabaseReference userRef = FirebaseDatabase.getInstance().getReference().child(USERS).child(auth.getCurrentUser().getUid());
userRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Logic for success is here...
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Logic for failure is here...
}
});
}
Irgendwelche Ideen, was ich falsch mache?
geht es jemals in das, wenn Block? Bist du durchgetreten? – muratgu
Ja. Ich bin hindurchgegangen und habe Log-Statements hinzugefügt. Es gibt die if-Anweisung ein, es erstellt den DatabaseRef, und dann wird der Listener nie ausgelöst. – Eagle11
Welche Art von Authentifizierung verwenden Sie? anscheinend gibt es ein Problem mit der benutzerdefinierten Authentifizierung ... – Ymmanuel