Có một vấn đề - hoạt động chính của tôi bắt đầu dịch vụ và đóng cửa sau đó. Khi ứng dụng bắt đầu lần sau, ứng dụng sẽ nhận được tham chiếu đến dịch vụ này và dừng nó lại. Nhưng tôi không biết làm thế nào tôi có thể có được một tham chiếu đến một dịch vụ đang chạy. Xin vui lòng, tôi hy vọng bạn có thể giúp tôi. Cảm ơn bạn.Làm cách nào để tham khảo dịch vụ đang chạy?
8
A
Trả lời
0
private boolean isMyServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if ("your.service.classname".equals(service.service.getClassName())) {
return false;
}
}
return true;
}
if(isMyServiceRunning()) {
stopService(new Intent(ServiceTest.this,MailService.class));
}
11
Câu trả lời này được dựa trên answer by @DawidSajdak. Mã của anh ta hầu như chính xác, nhưng anh ta đã chuyển các câu lệnh return
, vì vậy nó đưa ra kết quả ngược lại. Mã đúng phải là:
private boolean isMyServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if ("your.service.classname".equals(service.service.getClassName())) {
return true; // Package name matches, our service is running
}
}
return false; // No matching package name found => Our service is not running
}
if(isMyServiceRunning()) {
stopService(new Intent(ServiceTest.this,MailService.class));
}
Các vấn đề liên quan
- 1. Cách ngừng dịch vụ đang chạy?
- 2. Tham khảo dịch vụ trong OSGi
- 3. Làm cách nào để truy xuất tên người dùng mà dịch vụ Windows đang chạy?
- 4. Làm cách nào để xác minh xem Dịch vụ Windows có đang chạy
- 5. Thư viện lớp với tài liệu tham khảo dịch vụ
- 6. JSON.NET Làm cách nào để tham khảo?
- 7. Thêm dịch vụ WCF Tham khảo nhiều dự án
- 8. Tham khảo thông tư trong dịch vụ web
- 9. Các tài liệu tham khảo dịch vụ WCF
- 10. Dịch vụ Android đang chạy nhưng không hiển thị trong cài đặt -> dịch vụ đang chạy
- 11. Làm thế nào để phát hiện nếu tôi đang chạy trong dịch vụ đơn?
- 12. Làm cách nào để bạn có thể kiểm soát tên tệp cho Tài liệu tham khảo dịch vụ .NET?
- 13. Log4Net với WCF đang chạy dưới dạng dịch vụ
- 14. Làm cách nào để tải IIS bản địa được dịch vụ WCF của tôi tham chiếu?
- 15. Android: Chuyển các biến đến một dịch vụ đang chạy
- 16. Máy ảnh Android - Đang chạy ẩn từ dịch vụ
- 17. nút giám sát đang chạy dưới dạng dịch vụ
- 18. Java đang chạy dưới dạng dịch vụ Unix
- 19. Làm thế nào để thiết lập WCF Test Client sẽ chạy mỗi khi dịch vụ đang chạy
- 20. Làm cách nào để tham khảo cam kết ban đầu?
- 21. Làm cách nào để phát hiện hoạt động của người dùng bằng dịch vụ Java đang chạy trên Windows?
- 22. Làm cách nào để xác định xem máy tính có đang chạy Gói dịch vụ XP hay không 3
- 23. Làm thế nào để tham khảo các gói với Mono để biên dịch
- 24. Tham khảo dịch bên trong của một dịch
- 25. Cách gọi phương thức chạy dịch vụ windows
- 26. cách ngăn dịch vụ chạy lại nếu đã chạy android
- 27. Làm cách nào để ngăn chặn tham số ngoài kết thúc tham số trả về trong dịch vụ web WCF?
- 28. Làm thế nào để bắt đầu nhiệm vụ nền chạy dài trong dịch vụ android
- 29. Visual Studio/SOAP - 'Thêm tham chiếu dịch vụ' và 'Thêm tham chiếu dịch vụ web'
- 30. Cách chạy tác vụ khi dịch vụ windows khởi động?
nhưng làm thế nào tôi có thể ngừng dịch vụ bằng ví dụ của bạn? – user1166635
@ user1166635 rất đơn giản, hãy xem bản chỉnh sửa của tôi. –
Uhm .. đó là khá thừa. Chỉ cần gọi 'stopService' cho dù' Service' của bạn đang chạy hay không - không có hại gì nếu nó không phải là 'stopService' sẽ trả về' false'. – Jens