Tôi đang sử dụng IntentService để tải hình ảnh lên máy chủ. Vấn đề của tôi là tôi không biết làm thế nào/khi nào dừng dịch vụ. Khi tôi gọi stopelf() trong onHandleIntent (Intent ..) tất cả Intents đang đợi trong hàng đợi IntentService sẽ bị loại bỏ. Nhưng tôi không muốn ngừng dịch vụ từ một hoạt động vì tôi muốn hoàn thành quá trình tải lên ngay cả khi ứng dụng của tôi không chạy.Cách thích hợp để dừng IntentService
Trả lời
Vấn đề của tôi là tôi không biết làm thế nào/khi nào thì dừng dịch vụ.
IntentService
tự động dừng bản thân khi onHandleIntent()
kết thúc, nếu không các lệnh đã được gửi đến nó trong khi onHandleIntent()
được chạy. Do đó, bạn không tự dừng một mình IntentService
.
Khi tôi gọi dừng() trong onHandleIntent (Intent ..) tất cả các Intents đang đợi trong hàng đợi IntentService sẽ bị xóa.
Đó là lý do tại sao bạn không làm điều đó.
Nhưng tôi không muốn ngừng dịch vụ từ hoạt động vì tôi muốn hoàn tất quá trình tải lên ngay cả khi ứng dụng của tôi không chạy.
Sau đó, bạn để tự động dừng IntentService
.
An IntentService
tự dừng khi không có thêm Intent
s (công việc) để xử lý. Nó chạy stopSelf(startId)
cho mỗi Intent
(công việc). Có một cái nhìn tại nguồn IntentService
hoặc Extending the Service Class
từ đây http://developer.android.com/guide/topics/fundamentals/services.html
- 1. Dừng một IntentService từ một hoạt động
- 2. Giải thích thêm về IntentService
- 3. Cách thích hợp để tạm dừng một System.Timers.Timer?
- 4. Nhiều trường hợp của IntentService trong Android
- 5. cách JUnit kiểm tra IntentService
- 6. Cách thích hợp để thoát khỏi chương trình dòng lệnh?
- 7. Làm thế nào để ngừng intentservice trong android?
- 8. IntentService: Làm thế nào để enqueue một cách chính xác?
- 9. iphone NSManagedObject - Cách thích hợp để deallocing?
- 10. Cách thích hợp để kết thúc BeginInvoke?
- 11. Cách thích hợp để chuỗi Nhiệm vụ
- 12. StartForeground for IntentService
- 13. Triển khai IntentService bằng LinkedBlockingQueue?
- 14. Bắt đầu IntentService từ Hoạt động và làm mới Hoạt động khi IntentService được hoàn thành
- 15. Android IntentService không bắt đầu
- 16. IntentService không được gọi là
- 17. Cách nhận số lượt thích thích hợp cho URL
- 18. Cách thích hợp để bao bọc [NSString stringWithFormat:] là gì?
- 19. Một cách thích hợp để tạo ma trận trong C++
- 20. Có cách nào "thích hợp" để đọc file CSV
- 21. CSS Cách thích hợp để Nội dung Trung tâm
- 22. cách thích hợp để khóa vùng code is gì
- 23. C#: Cách thích hợp để đóng SerialPort với Winforms
- 24. Làm cách nào để cấp quyền thích hợp cho jenkins?
- 25. Cách thích hợp để gọi hàm render() trong BackboneJS
- 26. Cách thích hợp để tải lên tệp bằng CUploadedFile
- 27. Cách thích hợp để nhập tệp json vào mongo
- 28. Cách thích hợp để khai báo nhiều vars trong PHP
- 29. Cách thích hợp để ẩn bất kỳ thẻ HTML nào?
- 30. Cách thích hợp để nhận được http referrer từ jquery
Cảm ơn bạn, tôi đã không nhận thức được thực tế là IntentService dừng lại khi nó được thực hiện .:] – malinjir
Một góc lởm chởm hơn trong SDK Android ... thở dài. – markshiz
Tôi có vấn đề này ở đây nghĩa vụ phải là 25 giây đến 1 phút nhiệm vụ không kết thúc vì vậy intentService của tôi không kết thúc - https://stackoverflow.com/questions/39976001/force-stop-a-stuck-intentservice-programmatically – mboy