ServiceStatusUtils判断服务是否运行

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;
    }
}
原文地址:https://www.cnblogs.com/loaderman/p/6480605.html