Tôi đã đi qua các tài liệu dịch vụ trong android khi tôi nhận thấy hai điểm mâu thuẫn:Khi nào Dịch vụ bắt đầu và bị ràng buộc bị hủy?
Trong các dịch vụ tài liệu đó được quy định tại Managing the Lifecycle of a Service
Hai con đường không hoàn toàn riêng biệt. Tức là, bạn có thể liên kết với dịch vụ đã được bắt đầu với startService(). Ví dụ: một dịch vụ nhạc nền có thể được bắt đầu bằng cách gọi startService() với mục đích xác định nhạc để phát. Sau đó, có thể khi người dùng muốn thực hiện kiểm soát đối với người chơi hoặc nhận thông tin về bài hát hiện tại, một hoạt động có thể liên kết với dịch vụ bằng cách gọi bindService(). Trong các trường hợp như thế này, stopService() hoặc stopSelf() không thực sự ngừng dịch vụ cho đến khi tất cả khách hàng unbind.
Nhưng trong tài liệu về các dịch vụ ràng buộc trong Managing the Lifecycle of a Bound Service
Tuy nhiên, nếu bạn chọn để thực hiện các phương pháp onStartCommand() gọi lại , sau đó bạn phải dừng lại một cách rõ ràng các dịch vụ, vì dịch vụ tại là được coi là bắt đầu. Trong trường hợp này, dịch vụ chạy cho đến khi dịch vụ tự dừng lại với stopSelf() hoặc một thành phần khác gọi stopService(), bất kể nó có bị ràng buộc với bất kỳ khách hàng nào không.
Nó có thể là tôi nhưng tôi nghĩ rằng những điều khoản được contradictory.Could ai vui lòng làm rõ ...
Giải thích tuyệt vời ... cảm ơn vì đã xóa nó .. – anz
Vì vậy, giả sử tôi muốn unbind và ngừng một dịch vụ đã được bắt đầu và bị ràng buộc, tôi nên gọi stopService sau khi trước khi unbinding nó? Hoặc nó không quan trọng? –
Nó không quan trọng trong thứ tự bạn làm điều đó. Dịch vụ sẽ không bị phá hủy trước khi không phải tất cả khách hàng đều không liên kết và nó đã bị dừng lại (như bạn có thể thấy trong câu trả lời của @ChuckKrutsinger). – Stephan