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");