Asked Jun 29th, 2019 10:26 AM 70 0 0
  • 70 0 0
0

WorkManager - Broadcast Reciver - Service. Kết hợp sao cho hiệu quả ?

Share
  • 70 0 0

Chào mọi người, mình đang hơi rối về cách xử lí các công cụ trên sao cho hiệu quả và phù hợp nhất với task sau.

  • Cứ 7 giờ sáng hằng ngày thì sẽ bật bộ lắng nghe, nếu có internet connection thì gửi request đến api server. Nếu kết quả ok thì hủy bộ lắng nghe và chờ đến ngày hôm sau. Nếu kết quả trả về không ok thì lắng nghe đến bao giờ ok thì thôi, nhưng muộn nhất là đến 7h tối thì sẽ tắt bộ lắng nghe.

  • Hiện tại luồng mình xử lí như sau:

Dùng WorkManager lập lịch chạy vào lúc 7h sáng -> hàm doWork() sẽ đăng kí một BroadCastReceiver -> Ở class kế thừa broadcast receiver, lắng nghe sự kiện CONNECTIVITY_CHANGE -> nếu có sự kiện thì chạy api.

Mong được mọi người giúp đỡ, xin cảm ơn ạ.