手机服务

2018-08-12  本文已影响0人  dev晴天
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");

        }

上一篇 下一篇

猜你喜欢

热点阅读