Tôi có một dịch vụ nền mà phải chạy vĩnh viễn.
This is not possible. Người dùng hoặc Android sẽ giết dịch vụ của bạn tại một số thời điểm. Vui lòng xem xét lại kiến trúc của bạn.
Làm thế nào để tôi kiểm tra hoạt động tiếp tục nếu dịch vụ vẫn đang chạy?
Nói chung, bạn thì không.
Có khả năng nào tốt hơn biến tĩnh trong lớp dịch vụ không?
Điều đó sẽ không hoạt động nếu người dùng hoặc Android giết dịch vụ của bạn.
Có lợi thế sử dụng một dịch vụ từ xa trong một quá trình riêng biệt (để kéo dài thời gian tuổi thọ) để khi quá trình hoạt động bị giết dịch vụ vẫn còn sống?
Dịch vụ từ xa không liên quan đến việc dịch vụ có chạy sau khi các hoạt động bị hủy hay không. Nếu bạn gọi startService()
, dịch vụ này sẽ chạy, không phụ thuộc vào bất kỳ hoạt động, cho đến khi:
- bạn gọi
stopService()
từ một hoạt động
- dịch vụ gọi
stopSelf()
- Android chấm dứt dịch vụ
- người dùng chấm dứt dịch vụ thông qua ứng dụng Cài đặt
- người dùng chấm dứt dịch vụ thông qua "kẻ giết người nhiệm vụ" (Android 2.1 trở về trước, ít nhất)
´báo cáo lỗi 'nói với tôi rằng dịch vụ của tôi bị hỏng quá nhiều và đã bị phá hủy – OneWorld