verbrachte wie 3 Stunden Suche die Lösung, konnte aber nicht.Firebase-Referenz im Hintergrund Service ist nicht festgelegtPersistenceEnabled
Ich benutze Firebase-Datenbank und wann immer ich es aus Aktivität/Fragment alles funktioniert, aber jedes Mal, wenn ich es aus dem Hintergrund-Service verwenden, crashed die App, obwohl ich initiiere es (und setPersistent erst aktivieren) vor der Verwendung .
Fehler
E/AndroidRuntime: FATAL EXCEPTION: main
Process: dreamchasers.com.coinpal, PID: 8565
com.google.firebase.database.DatabaseException: Calls to setPersistenceEnabled() must be made before any other usage of FirebaseDatabase instance.
at com.google.firebase.database.FirebaseDatabase.zziF(Unknown Source)
at com.google.firebase.database.FirebaseDatabase.setPersistenceEnabled(Unknown Source)
at dreamchasers.com.coinpal.services.FirebaseBackgroundService.getDatabase32(FirebaseBackgroundService.java:297)
at dreamchasers.com.coinpal.services.FirebaseBackgroundService.queryAlerts(FirebaseBackgroundService.java:85)
at dreamchasers.com.coinpal.services.FirebaseBackgroundService.onStartJob(FirebaseBackgroundService.java:70)
at com.firebase.jobdispatcher.JobService.start(JobService.java:127)
at com.firebase.jobdispatcher.JobServiceConnection.onServiceConnected(JobServiceConnection.java:65)
at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1516)
at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1544)
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:6776)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
Mein Hintergrund Service-Methode Feuerbasis Referenz init:
public static DatabaseReference getDatabase32() {
if (mDatabase == null) {
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
mDatabase = FirebaseDatabase.getInstance().getReference();
}
return mDatabase;
}
Bitte helfen, jede Hilfe ist willkommen, Dank im Voraus!
Wird dies ausgelöst, wenn die App geschlossen wird und nur Hintergrunddienste ausgeführt werden? –
Ja, es wird, Sie können es versuchen .. – Nirel