/**
* @return boolean 返回该服务是否在运行中;
* @params componentName 查询指定service的组件名;
* e.g. com.hr.life.trnfa.service.services.MqttConnectService
*/
private boolean serverIsRunning(String componentName) {
ActivityManager activityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> runningServices
= activityManager.getRunningServices(Integer.MAX_VALUE);
if (runningServices.size() <= 0) {
return false;
}
for (ActivityManager.RunningServiceInfo serviceInfo : runningServices) {
if (componentName.equals(serviceInfo.service.getClassName())) {
return true;
}
}
return false;
}
使用
if (!serverIsRunning("com...Service")) {
// startService
}