android 获取Service(服务)的运行状态

在开发的时候,经常会用到服务,有时候就会用到判断服务的运行状态,下面就创建一个工具类来判断服务是在还在运行。

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 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");
第二个参数一定要是服务的全名。不能有错。

你可能感兴趣的:(android)