在开发的时候,经常会用到服务,有时候就会用到判断服务的运行状态,下面就创建一个工具类来判断服务是在还在运行。
package cn.edu.cqu.mobilesafe.utils;
import java.util.List;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningServiceInfo;
import android.content.Context;
public class ServiceUtils {
/**
* 校验某个服务是否还存在
*/
public static boolean isServiceRunning(Context context,String serviceName){
// 校验服务是否还存在
ActivityManager am = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningServiceInfo> services = am.getRunningServices(100);
for (RunningServiceInfo info : services) {
// 得到所有正在运行的服务的名称
String name = info.service.getClassName();
if (serviceName.equals(name)) {
return true;
}
}
return false;
}
}
调用该方法:
boolean serviceRunning = ServiceUtils.isServiceRunning(SettingActivity.this,
"cn.edu.cqu.mobilesafe.service.AddressService");
第二个参数一定要是服务的全名。不能有错。