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 }

 

Android 查看服务service是否正在运行 列出正在运行的服务,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。