首页 > 代码库 > Android 查看服务service是否正在运行 列出正在运行的服务
Android 查看服务service是否正在运行 列出正在运行的服务
在启动服务service或者停止服务service之前,需要先判断服务是否正在运行,再决定是否启动或停止服务,启动之前如果已经启动,会造成系统资源不必要的浪费,结束之前没有启动,则会使程序异常。下面是一个判断服务是否正在运行的方法,传入参数一个是调用该方法的Activity的context,另一个是完整的服务名,包括包名。
1 public boolean isRunning(Context c,String serviceName) 2 { 3 ActivityManager myAM=(ActivityManager)c.getSystemService(Context.ACTIVITY_SERVICE); 4 5 ArrayList<RunningServiceInfo> runningServices = (ArrayList<RunningServiceInfo>) myAM.getRunningServices(40); 6 //获取最多40个当前正在运行的服务,放进ArrList里,以现在手机的处理能力,要是超过40个服务,估计已经卡死,所以不用考虑超过40个该怎么办 7 for(int i = 0 ; i<runningServices.size();i++)//循环枚举对比 8 { 9 if(runningServices.get(i).service.getClassName().toString().equals(serviceName)) 10 { 11 return true; 12 } 13 } 14 return false; 15 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。