package com.example.administrator.mobilesafe.Utils;
import android.app.ActivityManager;
import android.app.ApplicationErrorReport;
import android.content.Context;
import java.util.List;
/**
* Created by Administrator on 2017/9/29.
* 判断服务是否开启
* ture 服务运行
* false 服务停止
* 传参数服务名字
*/
public class serviceUtil {
// 传参数Context便于获得上下文环境获得
public static boolean isRunning(Context cxt,String serviceName){
// 1 获取activityManager 管理对象 其可以获得当前手机正在运行的所有服务
ActivityManager aAM = (ActivityManager) cxt.getSystemService(Context.ACTIVITY_SERVICE);
// 2 获取正在运行的服务(多少个服务一般100够大了,目前手机一般不会那么多)
List<ActivityManager.RunningServiceInfo> runningService= aAM.getRunningServices(1000);//服务过多站内存
//遍历所有服务集合 获得服务名字 与传递的服务名字作比较 如果一致说明正在进行
for (ActivityManager.RunningServiceInfo run:runningService) {
// 获取每个真正运行的服务名
if (serviceName.equals(run.service.getClassName())){
// 匹配上返回true 匹配不上直接false
return true;
}
}
return false;
}
}
获得全部运行的服务:
// 正在运行的服务
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
// 管理器调用方法获得正在运行的服务信息
List<ActivityManager.RunningServiceInfo> rsi = am.getRunningServices(1000);
// 遍历集合 获得全部服务
for (ActivityManager.RunningServiceInfo run : rsi) {
Log.d("TAG", "onCreate: " + run.service.getClassName() + "\n");
}
网友评论