Tôi có một ứng dụng Android có liên quan đến dịch vụ liên tục (khi đã bắt đầu với startService()
).Dọn dẹp ràng buộc/không liên kết với Dịch vụ trong Đơn đăng ký
Dịch vụ là một phần không thể tách rời của ứng dụng và do đó được sử dụng trong hầu hết mọi Hoạt động. Do đó tôi muốn liên kết với dịch vụ chỉ một lần (thay vì ràng buộc/hủy liên kết trong mọi Hoạt động) và giữ liên kết trong suốt thời gian tồn tại của ứng dụng của tôi.
Tôi đã mở rộng từ Application và liên kết với dịch vụ trong Application#onCreate(). Tuy nhiên bây giờ tôi có vấn đề mà tôi không biết khi nào ứng dụng của tôi tồn tại kể từ khi Application#onTerminate() không bao giờ được gọi là, xem javadoc:
Phương pháp này là để sử dụng trong môi trường quá trình mô phỏng. Nó sẽ không bao giờ được gọi trên thiết bị Android sản xuất, nơi các quá trình được xóa bằng cách đơn giản giết chúng; không có mã người dùng (bao gồm cả gọi lại này) là được thực thi khi làm như vậy.
Vậy làm thế nào để tôi hủy liên kết khỏi dịch vụ bị ràng buộc trong Ứng dụng?
Dịch vụ của bạn tồn tại như thế nào để xoay màn hình? –
Ý của bạn là gì? Dịch vụ trong Android không có giao diện người dùng nên nó vẫn tiếp tục chạy. Trong trường hợp này, Dịch vụ đã được bắt đầu trước đó với 'context.startService()' và được đánh dấu dính sao cho nó chạy cho đến khi nó được dừng lại một cách thủ công hoặc tự dừng lại. –
Tôi hiểu. Tôi đã nghĩ rằng việc giải phóng ràng buộc sẽ ngăn chặn dịch vụ, nhưng không phải trong trường hợp dịch vụ lai này. Các ràng buộc được phát hành để tránh một kết nối dịch vụ bị rò rỉ. –