android随笔07——动态获得service状态

public class MyUtils {//工具类

//动态判断服务是否运行

public static boolean isServiceRunning(settingActivityCenter act,String className){​

  * ActivityManager是当前手机状态的管理者,不仅仅管理Activity,还管理Service,以及其他,一切正运行中的信息  

* 类似于windows的任务管理器     

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);  

//获得正在运行的服务的信息 

 List runningServices = am.getRunningServices(100); //参数是获得服务数量的最大值  

for(RunningServiceInfo runningServiceInfo : runningServices){   

          String className = runningServiceInfo.service.getClassName();   

          return true;

         }

}

return false;​​​

}

}

-----------------------------------------------------------------------------------

在服务类中的onResume方法中

//动态判断服务是否运行

  boolean isRunning = MyUtils.isServiceRunning(this, BlackNumService.class.getName());  svBlackNum.setCheck(isRunning);

这样就能动态的检测服务是否开启了

你可能感兴趣的:(android随笔07——动态获得service状态)