zoukankan      html  css  js  c++  java
  • Android中查看服务是否开启的工具类

    这个也是昨天学习的,做下总结。

    检查服务是否开启要写成一个工具类,方便使用,传服务的名字返回Boolean值,当然,由于须要,还要传一个上下文context。

    说一下这个工具类的几个关键点:

    1.方法要传context和serviceName,context用来getSystemService()操作获得ActivityManager。注意,这种方法參数要用大写的Context中的參数:Context.ACTIVITY_SERVICE,要不然会出错,还不知道哪错的。花了我10分钟的时间才知道。谨记下。

    2.ActivityManager实例能够getRunningService()方法,參数是获得服务最大数目,一般100就好。

    3.上面的方法返回的事一个List,要对他进行遍历,获的每个服务的名字,在比較,返回结果。


    以下是详细代码。


    import java.util.List;
    
    import android.app.ActivityManager;
    import android.app.ActivityManager.RunningServiceInfo;
    import android.app.Service;
    import android.content.Context;
    
    public class ServiceStateUtiles {
    	
    	public static Boolean isServiceRunning(Context context, String serviceName) {
    		//获取服务方法  參数 必须用大写的Context!!!
    		ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    		List<RunningServiceInfo> infos = am.getRunningServices(100);
    		for (RunningServiceInfo info : infos) {
    			String className = info.service.getClassName();
    			if(serviceName.equals(className)) 
    				return true;
    		}
    		return false;
    	}
    }


  • 相关阅读:
    glog的编译和使用
    FFMPEG+SDL实现视频播放器
    SDL2学习(二):常用枚举值和函数
    SDL2学习(一): 显示一张图片
    2. chromium开发工具--gclient
    C# 获取时间大全
    用jquery-table2excel,进行导出excel
    SQL Server FOR XML PATH 和 STUFF函数的用法
    关于My Sql update语句不能用子查询的解决办法
    echarts呈现数据表图形
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8617607.html
Copyright © 2011-2022 走看看