Tôi có một IntentSerivce
chạy trong nền đôi khi và nó có thể là một quá trình chạy khá lâu trong một số trường hợp nhất định. Tôi đưa ra một tùy chọn cho người dùng để thoát khỏi ứng dụng mà về cơ bản chỉ dừng lại và bỏ phiếu và bỏ qua bất kỳ thông báo đẩy GCM
nào. Nhưng nếu một thông báo đẩy đến và IntentService
sẽ mất một lúc để hoàn thành việc cần làm (nhận thông tin từ máy chủ và gửi thông báo cho người dùng nếu cần, như tin nhắn mới đến hoặc điều gì đó).Dừng một IntentService từ một hoạt động
Đây là vấn đề, nếu người dùng chọn "Thoát" ứng dụng trong khi intentservice
vẫn chạy, họ sẽ vẫn nhận được thông báo mà tôi không muốn. Tôi biết rằng có phương pháp stopSelf()
cho dịch vụ nhưng tôi cần phải dừng nó trong một hoạt động khi tôi biết người dùng "Thoát" ứng dụng thông qua một nút menu. Gửi một số khác intent
cho dịch vụ không hoạt động vì các mục đích được xếp hàng đợi và gọi số context.stopService(intent);
trong hoạt động của tôi không hoạt động hoặc vì vậy tôi có thể ngăn chặn nó như thế nào?
có thể trùng lặp của [Buộc một IntentService để ngăn chặn ngay lập tức] (http://stackoverflow.com/questions/11258083/forcing- an-intentservice-to-stop-immediately) –