Tôi đang sử dụng Firebase để tạo ứng dụng trò chuyện nhỏ. Tôi muốn ChildEventListener
để tiếp tục nghe vị trí cơ sở dữ liệu Firebase mặc dù ứng dụng của tôi ở chế độ nền hoặc nó đã thoát. Hiện tại tôi đang đăng ký nó và khi ứng dụng của tôi thoát hoặc đóng sử dụng finish()
, sau đó không có phương pháp nào của ChildEventListener của tôi được gọi là onChildAdded
hoặc onChildChanged
mặc dù tôi chưa gọi removeEventListener
.Tôi muốn ChildEventListener luôn chạy ngầm. Có cách nào để làm điều đó không?Firebase: tiếp tục nghe ChildEventListener mặc dù thoát ứng dụng
Trả lời
Sử dụng dịch vụ nghe ChildEventListener bạn
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;
}
}
đăng ký dịch vụ của bạn bên trong Manifest
<service android:name=".ChildEventListener "/>
Bắt đầu dịch vụ của bạn và lắng nghe cho childEvents, nơi/khi nào bắt đầu dịch vụ của bạn lên đến ứng dụng trò chuyện của bạn thiết kế
nhưng khi tôi sẽ bắt đầu phiên bản dịch vụ hiện tại của mình, sau đó nó sẽ đăng ký ChildEventListener một lần nữa đang gây ra nhiều người nghe ChildEventListener. Có cách nào để kiểm tra xem ChildEventListener của tôi đã nghe chưa? –
Sử dụng sharedPreferences để kiểm tra xem người nghe emEvent của bạn có đang hoạt động hay không.Nếu không nghe thì chỉ thêm người nghe sự kiện –
đó là những gì tôi đang nói, cách kiểm tra ChildEventListener? là có bất kỳ người nghe sẽ cho tôi biết nó không nghe? –
- 1. ListView trống rỗng mặc dù các mục được thêm vào bộ điều hợp đôi khi khi tiếp tục ứng dụng
- 2. Ứng dụng Android Phonegap khởi động lại thay vì tiếp tục, mặc dù nó không bị hệ điều hành
- 3. Dừng ứng dụng sau khi tiếp tục từ nền. Firebase có thể đổ lỗi không?
- 4. Resharper tiếp tục phàn nàn rằng không gian tên không tương ứng với vị trí tệp mặc dù nó
- 5. Nhiều ứng dụng phản hồi giao tiếp mặc dù một cửa hàng redux duy nhất
- 6. Có thể tiếp tục nạp lại bình không, mặc dù tôi có lỗi cú pháp
- 7. Mặc dù magic_quotes được tắt vẫn còn thoát chuỗi?
- 8. Tiếp tục ứng dụng của tôi giống như cách nó được tiếp tục từ lịch sử
- 9. Báo cáo sự cố Firebase cho iOS không gửi sự cố mặc dù init thành công
- 10. FirebaseApp không khởi chạy mặc dù FirebaseApp.initializeApp() đang được gọi trong lớp Ứng dụng
- 11. Trình nghe Firebase không tốn kém
- 12. Cách thoát pdb và cho phép chương trình tiếp tục?
- 13. Cách theo dõi người nghe trong Firebase trên Android?
- 14. Cách duy trì phiên người dùng sau khi thoát ứng dụng trong Firebase
- 15. Mẫu tiếp tục vẽ lại, mặc dù không có thay đổi đối với dữ liệu cơ bản
- 16. Kết hợp trình nghe dữ liệu thời gian thực Firebase với RxJava
- 17. Android: tiếp tục ứng dụng từ vị trí trước
- 18. Ngăn chặn "Tiếp tục" cho ứng dụng Cocoa của tôi?
- 19. Ứng dụng GitHub Mac tiếp tục thêm các khóa SSH?
- 20. Ứng dụng "tiếp tục dừng" trên Nougat 7.0
- 21. Form vẫn nộp mặc dù chức năng nghe trả về false
- 22. Node.js rò rỉ bộ nhớ, mặc dù liên tục Heap + RSS kích thước
- 23. Làm cách nào để tiếp tục thử nghiệm ứng dụng iOS, sử dụng công cụ UIAutomation, ngay cả sau khi thoát ứng dụng?
- 24. Tập lệnh Bash thoát sau kết quả thứ nhất khác 0 mặc dù -e không được đặt trong ENV
- 25. rò rỉ bộ nhớ mặc dù sử dụng weakreference
- 26. Làm cho các ứng dụng Java Swing liên tục
- 27. Apple sẽ chấp nhận ứng dụng của tôi, mặc dù nó có nhiều thông tin hơn?
- 28. scriptresource.axd 404 lỗi trong ứng dụng asp net 4 - webresource hoạt động tốt mặc dù
- 29. Làm cách nào để tiếp tục tải xuống khi ứng dụng buộc Quit?
- 30. Python: tiếp tục lặp cho vòng lặp ngoại lệ
Xin chào, bạn đã tìm thấy giải pháp nào cho điều này? –
Không, nhưng không gọi 'removeEventListener' và tôi đoán nó sẽ phù hợp với bạn! –
Ok. Bạn có nghĩa là ChildEventListener sẽ luôn luôn làm việc trong chủ đề nền thậm chí ứng dụng là giết HOẶC chúng ta cần phải làm tất cả những thứ này trong dịch vụ? –