Tôi có dịch vụ trong ứng dụng của mình, vì một số ứng dụng khác cũng có. Từ những gì tôi đang sử dụng, tôi có thể thấy (và giết) các dịch vụ độc đáo trong các thiết lập -> (chạy) dịch vụ. Nhưng: không phải của tôi ...Dịch vụ Android đang chạy nhưng không hiển thị trong cài đặt -> dịch vụ đang chạy
Bản thân dịch vụ được mở rộng từ IntentService. Nó được xử lý báo động Intents qua BroadcastReceiver và cũng có tin nhắn từ ứng dụng của tôi và trở lại để làm một số công việc. Vì nó là điều cần thiết để ứng dụng của tôi và giữ một số phiên web từ xa và (đọc: "rất nhiều") khác dữ liệu liên tục, tôi dứt khoát bắt đầu nó trong hoạt động chính với
startService(new Intent(this, HeartBeatService.class));
và trong dịch vụ, tôi thậm chí sử dụng
startForeground(NOTIFY_RUNNING, runNotification);
Hoạt động khác của ứng dụng của tôi bằng dịch vụ chỉ sử dụng bindService(), hoạt động như một sự quyến rũ.
Thực sự là đang chạy. Hoàn hảo và luôn luôn, như tôi mong muốn, ngay cả khi các hoạt động bị giết bởi android vì bất cứ điều gì android nghĩ rằng nó tốt cho.
Chỉ: Tôi không "thấy" nó đang chạy. Tôi cũng đã cố gắng ghi đè dịch vụ trênStartCommand() để trả về START_STICKY, nhưng không có gì thay đổi. Tôi biết, điều này không nên được ghi đè trong IntentService.
Hay tôi chỉ nghĩ sai? IntentService "khác"?
Cảm ơn bạn!
Đọc và hiểu những gì được viết đôi khi sẽ giúp ích ... Tôi đoán tôi đã nghĩ hoàn toàn sai. Tôi sẽ cấu trúc lại lớp đó thành Service chuẩn và chỉ cần gọi IntentService.onHandleIntent cũ của tôi() trong một Thread Runnable mới từ onStartCommand(). Hãy xem điều gì sẽ xảy ra ... Báo cáo sau này ... – Oliver
Được tái cấu trúc dưới dạng Dịch vụ thay vì IntentService, hoạt động tương tự, PLUS được hiển thị ngay trong các dịch vụ ứng dụng;) Nhưng tôi thực sự tự hỏi, vì ghi đè lên onStartCommand() với việc trả lại START_STICKY đáng lẽ phải làm nó cũng. Không ý kiến. Cảm ơn anyways cho con trỏ! – Oliver