2014-05-03 14 views
6

Tôi đang triển khai ứng dụng trò chuyện bằng thư viện asmack. Tôi muốn bắt đầu một dịch vụ luôn chạy, nơi tất cả các nhiệm vụ quản lý kết nối sẽ được thực hiện và cần tiếp tục nhận các gói tin đến và lưu các thông báo trong cơ sở dữ liệu sqlite của tôi. Và khi ứng dụng của tôi được khởi chạy, tôi cũng muốn ứng dụng của mình được thông báo cho các tin nhắn đến trong khi dịch vụ nền đang chèn các thông điệp vào cơ sở dữ liệu sqlite. Làm thế nào để thực hiện cấu trúc như vậy với dịch vụ dính. Là khóa thức một phần cũng cần thiết. Kể từ đó, hình ảnh cũng sẽ được tải xuống bằng cách sử dụng http một phần đôi khi về nhu cầu cụ thể.Dịch vụ nền Android cho ứng dụng trò chuyện Smack (XMPP)

Trả lời

14

Bạn có thể bắt đầu dịch vụ sau khi đăng ký trên máy chủ.

onStartCommand dịch vụ đăng nhập người dùng.

Thực hiện dịch vụ với PacketListener, ConnectionListener, InvitationListener

PacketListener cho nhận Groupcaht hoặc One to One thông điệp chat.

Trình kết nối để kiểm tra xem kết nối với máy chủ có được kết nối hoặc ngắt kết nối hay không.

Lời mời ghi số Để nhận lời mời Nhóm.

Sau khi đăng nhập thành công, hãy thêm những người nghe này.

Bây giờ khi nhận được tin nhắn lưu tin nhắn đó trong cơ sở dữ liệu cục bộ và gửi một Broadcast cho các hoạt động muốn nhận tin nhắn.

Kiểm tra xem các ứng dụng đang chạy ẩn nếu có thì gửi thông báo cho tin nhắn mới

Gửi thư cho tôi nếu có bạn gặp phải bất kỳ vấn đề [email protected]

+0

Thanks a lot. Tôi cũng muốn ứng dụng tiếp tục nhận tin nhắn khi đang ở chế độ nền. Nhưng đối với người dùng này phải trực tuyến Nhưng khi người dùng rời khỏi cửa sổ trò chuyện, người dùng sẽ ngoại tuyến trong ứng dụng của tôi. –

+1

Sau đó, kết nối của bạn phải vi phạm Triển khai ConnectionListener để kiểm tra nơi kết nối đang đóng. 1 lên xin vui lòng cho câu trả lời –

+0

Thực ra, tôi muốn bắt đầu một "dịch vụ bắt đầu (unbind)" có nhiệm vụ là xử lý mọi thứ từ việc nhận tin nhắn đến gửi tin nhắn. Tôi muốn khách hàng của tôi là giống như một giao diện sẽ phát hành các lệnh để phục vụ Và dịch vụ sẽ làm việc cần thiết. –

Các vấn đề liên quan