我有,我相信已经在前台运行的服务,我该如何检查,如果我实现工作?
解决方案 私人布尔isServiceRunning(字符串服务名){
布尔serviceRunning = FALSE;
ActivityManager AM =(ActivityManager)this.getSystemService(ACTIVITY_SERVICE);
名单< ActivityManager.RunningServiceInfo>升= am.getRunningServices(50);
迭代器< ActivityManager.RunningServiceInfo> I = l.iterator();
而(i.hasNext()){
ActivityManager.RunningServiceInfo runningServiceInfo =(ActivityManager.RunningServiceInfo)我
。下一个();
如果(runningServiceInfo.service.getClassName()。等于(服务名)){
serviceRunning = TRUE;
如果(runningServiceInfo.service.foreground)
{
在前台//服务运行
}
}
}
返回serviceRunning;
}
如果你想知道,如果你的服务是在前台运行只需打开另一些脂肪应用程序,然后检查服务是否仍在运行,或者只是检查标记 service.foreground
。
I have a service which I believe to have running in the foreground, How do I check if my implementation is working?
解决方案private boolean isServiceRunning(String serviceName){
boolean serviceRunning = false;
ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> l = am.getRunningServices(50);
Iterator<ActivityManager.RunningServiceInfo> i = l.iterator();
while (i.hasNext()) {
ActivityManager.RunningServiceInfo runningServiceInfo = (ActivityManager.RunningServiceInfo) i
.next();
if(runningServiceInfo.service.getClassName().equals(serviceName)){
serviceRunning = true;
if(runningServiceInfo.service.foreground)
{
//service run in foreground
}
}
}
return serviceRunning;
}
If you want to know if your service is running in foreground just open some others fat applications and then check if service is still running or just check flag service.foreground
.