public static boolean isServiceRunning(Context ctx, String serviceName) {
//ctx上下文
//,serviceName 要查询的服务的名字
ActivityManager am = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningServiceInfo> runningServices = am.getRunningServices(100);//获取系统所有正在运行的服务,最多返回100个
for (RunningServiceInfo runningServiceInfo : runningServices) {
String className = runningServiceInfo.service.getClassName();//获取服务的名称
System.out.println(className);
if (className.equals(serviceName)) {// 服务存在
return true;
}
}
return false;
}
判断是否开启的例子
// 根据归属地服务是否运行来更新checkbox
boolean serviceRunning = ServiceStatusUtils.isServiceRunning(this,
"com.itheima52.mobilesafe.service.AddressService");