您的位置:首页 > 移动开发 > Android开发

Android 查看服务service是否正在运行 列出正在运行的服务

2016-08-16 13:43 651 查看
在启动服务service或者停止服务service之前,需要先判断服务是否正在运行,再决定是否启动或停止服务,启动之前如果已经启动,会造成系统资源不必要的浪费,结束之前没有启动,则会使程序异常。下面是一个判断服务是否正在运行的方法,传入参数一个是调用该方法的Activity的context,另一个是完整的服务名,包括包名。

public
boolean
isRunning(Context
c,String
serviceName)

{

ActivityManager
myAM=(ActivityManager)c.getSystemService(Context.ACTIVITY_SERVICE);

ArrayList<RunningServiceInfo>
runningServices =
(ArrayList<RunningServiceInfo>)
myAM.getRunningServices(40);

//获取最多40个当前正在运行的服务,放进ArrList里,以现在手机的处理能力,要是超过40个服务,估计已经卡死,所以不用考虑超过40个该怎么办

for(int
i =
0
;
i<runningServices.size();i++)//循环枚举对比

{

if(runningServices.get(i).service.getClassName().toString().equals(serviceName))

{

return
true;

}

}

return
false;

}

转载内容来自 应用开发笔记:http://www.pocketdigi.com/20110412/242.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 服务