私はFirebaseを使って小さなチャットアプリケーションを作成しています。私はChildEventListener
が私のアプリがバックグラウンドにあるか、または終了しているにもかかわらず、firebaseデータベースの場所を聴き続けたいと思っています。現在、私はそれを登録していて、finish()
を使用してアプリケーションを終了したり閉じたりした後、removeEventListener
を呼び出さずにChildEventListenerのメソッドがonChildAdded
またはonChildChanged
のように呼び出されていません。ChildEventListenerを常にバックグラウンドで実行します。とにかくそれをしているのですか?Firebase:アプリケーションが終了しても、ChildEventListenerを聞き続ける
答えて
利用サービスチャットアプリまである
public class ChildEventListener extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
//Adding a childevent listener to firebase
Firebase myFirebaseRef = new Firebase("FirebaseURL");
myFirebaseRef.child("FIREBASE_LOCATION").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
//Do something using DataSnapshot say call Notification
}
@Override
public void onCancelled(FirebaseError error) {
Log.e("The read failed: ", error.getMessage());
}
});
}
@Override
public void onCancelled(FirebaseError firebaseError) {
Log.e("The read failed: ", firebaseError.getMessage());
}
});
return START_STICKY;
}
}
が
<service android:name=".ChildEventListener "/>
マニフェスト
の内側にあなたのサービスを登録し、あなたのサービスを起動し、/あなたのサービスを開始するchildEvents、のために耳を傾け、あなたのChildEventListener聞くことデザインしかし、私がサービスの既存のインスタンスを開始するとき、ChildEventListenerの複数のリスナーを引き起こしているChildEventListenerを再び登録します。私のChildEventListenerがすでに聞いていることを確認するにはどうしますか? –
あなたのchildEventリスナーがアクティブであるかどうかを確認するにはsharedPreferencesを使用します。リスニングしていない場合は、そのイベントリスナのみを追加します –
私が言っていることは、ChildEventListenerをチェックする方法ですか?聞こえていないことを教えてくれるリスナーはいますか? –
- 1. Firebase:アプリケーションが終了しても子イベントが聞こえます
- 2. LINQ Confusion - アプリケーションが終了してもデータベースが永続しない?
- 3. 端末が終了しても操作を続ける
- 4. ストリームが終了してもMPMoviePlayerは再生を続けます
- 5. アプリケーションが終了した後もブロードキャストレシーバーを稼働させ続ける
- 6. 親プロセスが終了しても、スレッドをPythonで起動し続けるには?
- 7. android firebase stop ChildEventListener
- 8. ブラウザ終了後にWebアプリケーションを実行し続ける
- 9. Android - WebViewを終了してもオーディオが再生され続ける
- 10. アプリケーションは理由なしで終了し続ける
- 11. サービスを利用してもアプリケーションが終了する
- 12. Android:アプリケーションが終了してもasynctaskを維持する
- 13. android-firebase childEventListener in service
- 14. 強制終了してもNSTimerを実行し続ける方法
- 15. ブロードキャスト受信者はアプリケーション終了後も続行します
- 16. アプリケーションが終了すると、DB接続はすぐに終了しますか?
- 17. アプリケーションマスタが終了してもヤーンアプリケーションが終了しない
- 18. pyinstallerプログラムは、終了後もバックグラウンドで動作し続けます。
- 19. アプリケーションが終了していると、Firebaseのダイナミックリンクが動作しない
- 20. 終了してもアプリケーションが実行されていますか?
- 21. アプリケーションが終了している間にFirebaseデータベースの変更を確認する
- 22. コードが終了してもVMは終了しません
- 23. アプリケーションを終了してから処理を続行するC#
- 24. アプリケーションが終了するとFirebaseジョブディスパッチャが実行されない
- 25. Swift:ユーザーがアプリケーションを終了したときにFirebaseクラウドストレージに画像をアップロード
- 26. アプリケーションが終了したときのイオンバックグラウンドサービス
- 27. ジョブがクラッシュしたとき(またはジョブの終了を聞いて)
- 28. アプリケーション終了がC#windowsアプリケーションでも発生しない
- 29. Node.js Firebaseデータベースクエリを呼び出すときにアプリケーションが終了しない
- 30. 電子アプリケーションを終了してコマンドプロンプトを終了する
こんにちは、これについてはどのような解決策が見つかりましたか? –
いいえ、しかし 'removeEventListener'を呼び出さないでください。あなたのためにはうまくいくでしょう! –
つまり、ChildEventListenerは、アプリケーションがkillでも、バックグラウンドスレッドでも動作することになります。または、すべてのサービスを実行する必要がありますか? –