import android.app.ActivityManager; import android.app.Service; import android.content.Context; import java.util.List; /** * Created by Administrator on 2016/11/23 0023. * 判断服务是否运行 */ public class ServiceStatusUtils { //PackageManager, TelephoyManager, DevicePolicyManager, Vibrator, SmsManager, LocationManager //ActivityManager public static boolean isServiceRunning(Context ctx, Class<? extends Service> clazz) { //活动管理器, 管理一切正在运行的东西 ActivityManager am = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE); //获取正在运行的服务, 100表示最多返回100条记录 List<ActivityManager.RunningServiceInfo> runningServices = am.getRunningServices(100); for (ActivityManager.RunningServiceInfo info : runningServices) { //遍历所有正在运行的服务,查看有没有我们要找的服务 String className = info.service.getClassName();//获取当前运行服务的类全名称 if (className.equals(clazz.getName())) { //服务正在运行 return true; } } return false; } }