In meiner App verwende ich Firebase für die Datenbank. Wenn ich jetzt auf Änderungen an untergeordneten Knoten eines bestimmten Ortes horche und keine Internetverbindung besteht, wird kein Rückruf ausgelöst. Der Firebase-Anruf bleibt einfach hängen.Firebase bleibt auf keine Internetverbindung stecken
ich dies verwenden,
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
firebaseDatabase.setPersistenceEnabled(true);
So, Ausdauer aktiviert ist. Das Problem tritt nur in einem Szenario auf. Wenn keine Daten zur lokalen Persistenz von Firebase vorliegen und die Internetverbindung nicht verfügbar ist.
ich dies verwenden,
addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
Timber.d("Cancelled");
}
});
Ich bin nicht für das jeweilige Szenario eine der beiden Rückrufe zu bekommen.
Was soll ich tun, um diese Art von Szenario zu bewältigen?
Ich erfahre das gleiche Problem gerade jetzt. Hast du etwas getan, um es zu lösen? Wenn nicht, muss ich möglicherweise auf ihre REST API zurückgreifen. – Rafi
Welche SDK-Version verwenden Sie für Firebase? –
Ich habe das Problem gelöst, indem ich die Informationen aus dieser Antwort verwendet habe: http://stackoverflow.com/questions/39021378/android-firebase-ondatachange-and-oncancelled-not-being-called-with-no-int/39021671 # 39021671 – Rafi