Android 中如何判断服务的状态:
可以 这个方法的方法的返回值判断:ServiceStatusUtils.isServiceRunning(this, WatchDogService.class)
如果返回true 则服务处于运行状态没,反之亦然。
/**
* 检测服务是否运行 原理是更加ActivityMannager查询出全部正在运行的服务,然后便利匹配
* @author Bruce
*
*/
public static boolean isServiceRunning(Context context ,Class<?> cls){
//相当于电脑上的进程管理器
ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningServiceInfo> infos = am.getRunningServices(300);
for(RunningServiceInfo info : infos){
//获取到正在运行的服务的名字
String service = info.service.getClassName();
//判断两个类名是否一致
if(service.equals(cls.getName())){
return true;
}
}
return false;
}