Avatar
0
Hoàng Nam Beginner
Hoàng Nam Beginner
Foreground service trong android
E đang muốn làm 1 app lấy vị trị của thiết bị sau khi vị trí thay đổi, sau đó xử lý ở background và chạy 24/7.

Toàn bộ đều chạy tốt nhưng sau 24h thì service và ứng dụng bị hủy. E đang tìm hiểu lí do, mn giúp e vs ạ!

  • Answer
android
Remain: 5
3 Answers
Avatar
monkey Beginner
monkey Beginner
Của em là android mấy nhỉ?
  • 0
  • Reply
android 8 trở lên ạ  –  Hoàng Nam 1677749809000
Avatar
monkey Beginner
monkey Beginner
Từ android 8 trở đi thì việc chạy task ở background tương đối khó khăn em ạ, nó sẽ thông báo người dùng là có task chạy background và người dùng có thể tự kill đi.

Ngoài ra nó cũng sinh ra cái App Standby Buckets trong đó có việc giới hạn 1 số cái cho task chạy background, em thử đọc xem có tìm được nguyên nhân không nhé

  • 0
  • Reply
a cho e hỏi là các app báo thức hay mấy ứng dụng nhắn tin đang dùng service gì để có thể nhận tin nhắn ngay lập tức v ạh  –  Hoàng Nam 1677833771000
Avatar
tvd12 Beginner
tvd12 Beginner
The Best Answer
Đối với các app đặc thù như báo thù thì android lại có những đối tượng để quản lý riêng biệt, cụ thể ở đây là AlarmManager. Em có thể tìm thấy rất nhiều ví dụ chi tiết qua google hoặc ChatGPT nên anh sẽ không liệt kê ở đây nhé.

Về bản chất bên trong thì anh thấy nó sử dụng foreground service và wake locks, tuy nhiên đây là phần core của android nên rõ ràng là nó có những đặc quyền khác với app thông thường em ạ.

  • 1
  • Reply
V còn những ứng dụng như zalo họ dùng service gì để nhận tin nhắn ngay lập tức v ạ  –  Hoàng Nam 1677867587000
Nếu em đang hỏi chat realtime thì họ có thể dùng qua websocket, hoặc http long pooling

Còn nếu em đang hỏi phần push notification Họ có thể dùng qua Firebase, rồi firebase sẽ bắn notification cho android thông qua notifcation service của android hoặc Apple Push Notification service (APNs) của apple. Nhìn chung những thứ đó vẫn là độc quyền của hệ điều hành, mình không thể có đặc quyền như vậy được

 –  tvd12 1677868494000