【发布时间】:2013-09-14 14:43:58
【问题描述】:
我想从特定服务的代码中确定该服务是否在前台。我看了看:
ActivityManager.RunningServiceInfo
特别是 RunningServiceInfo.foreground,但文档说,“如果服务要求作为前台进程运行,则设置为 true。”
那么我可以依赖 RunningServiceInfo.foreground 吗?还是有别的办法?
PS:我没有其他问题,我的服务运行良好。这个问题更多是出于好奇。已经浏览过 ASOP 并没有看到任何东西,但也许我错过了什么......
如果您有类似的问题,这可能会有所帮助: How to determine if an Android Service is running in the foreground?
...虽然我发现公认的解决方案不完整。
【问题讨论】:
-
你想通过查看服务是否在前台运行来完成什么?
-
我在调用 setForeground 时遇到了问题,但服务在负载下仍然被杀死。原来我没有正确调用 setForeground(传递它 id=0)。但在我意识到我实际上并不知道该服务在前台之前,只是我请求了它。所以我寻找了一种方法来确定该服务是否被前台处理并且找不到。所以我想我会把它摆给 SO ...
-
好吧,它不是 setForeground 而是
startForeground(),使用它你需要创建一个显示在通知栏中的通知 -
对不起,你是对的,我的意思是 startForeground() 不是 setForeground()。是的,我知道这需要通知,谢谢。
标签: android