android中 使用服务类名来判断此服务当前是否正在运行:
public boolean isServiceWork(String serviceName) {
boolean isWork = false;
ActivityManager myAM = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> myList = myAM.getRunningServices(40);
if (myList.size() <= 0) {
return false;
}
for (int i = 0; i < myList.size(); i++) {
String mName = myList.get(i).service.getClassName().toString();
if (mName.equals(serviceName)) {
isWork = true;
break;
}
}
return isWork;
}
调用:
if(isServiceWork("com.xxx.xxxx.xxService")){
Log.d(TAG,"---服务在运行------");
}else{
Log.d(TAG,"---服务不在运行------");
}