美文网首页
手机服务

手机服务

作者: dev晴天 | 来源:发表于2018-08-12 11:38 被阅读0次
    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");
    
            }
    
    

    相关文章

      网友评论

          本文标题:手机服务

          本文链接:https://www.haomeiwen.com/subject/ivksbftx.html