0
は3時間のようにソリューションを検索していましたが、できませんでした。バックグラウンドサービスでのFirebaseリファレンスはsetPersistenceEnabledではありません
私はFirebaseデータベースを使用していますが、アクティビティ/フラグメントから使用するときはいつでもうまく動作しますが、バックグラウンドサービスから使用しようとするたびに、使用前に起動していても(そしてsetPersistentが最初に有効) 。
エラー
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)
私のバックグラウンドサービスfirebase参照initメソッド:
public static DatabaseReference getDatabase32() {
if (mDatabase == null) {
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
mDatabase = FirebaseDatabase.getInstance().getReference();
}
return mDatabase;
}
は助けてください、任意のヘルプは、事前に感謝歓迎です!
これは、アプリが終了し、バックグラウンドサービスのみが実行されているときに開始されますか? –
はい、それはあなたがそれを試すことができます.. – Nirel