Tôi đang thiết kế một ứng dụng có nhiệm vụ định kỳ là gửi sự hiện diện đến một máy chủ chuyên dụng miễn là ứng dụng đó ở nền trước.
Trong các tìm kiếm của tôi trên web, tôi thấy một số cách tiếp cận khác nhau và muốn biết cách tốt nhất để thực hiện việc này là gì.
Cách tốt nhất để lên lịch cuộc gọi máy chủ là gì?
Các tùy chọn tôi thấy là:
Hẹn giờ .
Dịch vụ .
BroadcastReciever với AlarmManager .
Ý kiến của bạn là gì?
CHỈNH SỬA:
Lý do tôi cần điều này là vì một ứng dụng dựa trên trò chuyện gửi tất cả các hành động của người dùng đến một máy chủ từ xa.
tức là người dùng đang nhập tin nhắn, người dùng đang đọc tin nhắn, người dùng đang trực tuyến, người dùng đang ngoại tuyến, v.v.
Điều này có nghĩa là cứ sau mỗi khoảng thời gian, tôi cần gửi cho máy chủ những gì tôi đang làm, vì tôi mở phòng trò chuyện với những người khác, họ cần biết tôi đang làm gì.
Tương tự như cơ chế phản hồi tin nhắn whatsapp:
CHỈNH SỬA # 2:
Các tác vụ định kỳ giờ đây phải được lên lịch hầu như luôn luôn thông qua JobScheduler
API (hoặc FirebaseJobDispatcher
đối với các API thấp hơn) để ngăn vấn đề tiêu hao pin như bạn có thể đọc trong phần quan trọng của khóa đào tạo Android
CHỈNH SỬA # 3:
FirebaseJobDispatcher đã không được dùng nữa và được thay thế bằng Workmanager , tính năng này cũng tích hợp các tính năng của JobScheduler.