Tất cả các đoạn mã trong ví dụ này là một phần của trận động đất Phần 1 dự án Chương 9, có sẵn để tải về tại www. Wrox. com.
Bây giờ khi các Hoạt động động đất được khởi động, nó sẽ khởi động dịch vụ động đất. Dịch vụ này sau đó sẽ tiếp tục chạy, cập nhật các nhà cung cấp nội dung trong nền, ngay cả sau khi các Hoạt động bị đình chỉ hoặc đóng cửa. Bởi vì Danh sách động đất Fragment đang sử dụng một con trỏ Loader, mỗi trận động đất mới sẽ tự động được thêm vào danh sách Xem.
Ở giai đoạn này, các dịch vụ động đất liên tục chạy, chiếm tài nguyên có giá trị. Phần sau sẽ giải thích làm thế nào để thay thế Timer với Báo động và các dịch vụ Intent.
Tạo Dịch vụ Foreground
Như bạn đã học trong chương 3, "Tạo các ứng dụng và các hoạt động," Android sử dụng một cách tiếp cận năng động với các nguồn lực quản lý có thể dẫn đến các thành phần của ứng dụng của bạn bị chấm dứt với rất ít hoặc không có cảnh báo.
Khi tính toán các ứng dụng và các thành phần ứng dụng nên bị giết, Android chuyển quyền chạy dịch vụ ưu tiên thứ hai cao nhất. Chỉ hoạt động, hoạt động tiền cảnh được coi là một ưu tiên cao hơn.
Trong trường hợp dịch vụ của bạn là tương tác trực tiếp với người sử dụng, nó có thể thích hợp để nâng pri¬ority của nó để tương đương với một Hoạt động của nền trước. Bạn có thể làm điều này bằng cách thiết lập dịch vụ của bạn để chạy trong foreground bằng cách gọi phương thức startForeground của nó.
Bởi vì dịch vụ foreground được dự kiến sẽ được tương tác trực tiếp với người sử dụng (ví dụ, bằng cách chơi nhạc), các cuộc gọi đến startForeground phải chỉ định một thông báo liên tục (mô tả chi tiết hơn trong Chương 10, "Mở rộng trải nghiệm người dùng"), như thể hiện trong Liệt kê 9-9. Thông báo này sẽ được hiển thị cho đến khi dịch vụ của bạn đang chạy ở phía trước.
đang được dịch, vui lòng đợi..
