Android服务正在运行,但它未显示在设置中 - >运行服务

时间:2011-12-08 19:22:46

标签: android service

我的应用程序中有一项服务,就像其他一些应用程序一样。根据我习惯,我可以在设置中很好地看到(并杀死)服务 - > (运行)服务。但是:不是我的......

服务本身是从IntentService扩展的。它通过BroadcastReceiver处理报警意图以及来自我的应用程序的消息,然后回来做一些工作。由于它对我的应用程序至关重要,并保留了一些远程网络会话和其他(读取:“很多”)持久性数据,我明确地在主要活动中启动它

startService(new Intent(this, HeartBeatService.class)); 

在服务中,我甚至使用

startForeground(NOTIFY_RUNNING, runNotification);

我使用该服务的其他应用程序仅使用bindService(),就像魅力一样。

正在运行。完美而永远,正如我所希望的那样,即使活动被Android杀死,因为无论机器人认为它有什么好处。

只是:我没有“看到”它正在运行。 我还尝试覆盖服务onStartCommand()以返回START_STICKY,但没有任何改变。我知道,不应该在IntentService中覆盖这个。

或者我只是想错了? IntentService“不同”吗?

谢谢!

1 个答案:

答案 0 :(得分:5)

从Android文档参考:

  

IntentService是服务的基类,可根据需要处理异步请求(表示为Intents)。客户端通过startService(Intent)调用发送请求;根据需要启动服务,使用工作线程依次处理每个Intent,并在工作失败时自行停止。

您的服务只会在收到意图时运行,并在完成意图后停止运行。

此外,我发现绑定到活动的服务不会显示在正在运行的服务屏幕中。

删除绑定后,它们会显示出来。