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

检查服务是否开启要写成一个工具类,方便使用,传服务的名字返回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;
}
}

最新文章

  1. jxl读数据库数据生成xls 并下载
  2. Linux任务计划
  3. 如何在 Delphi 中静态链接 SQLite
  4. 【Android UI】Android开发之View的几种布局方式及实践
  5. RAID5和RAID10,哪种RAID更适合你(上)
  6. Android 原生listview item伸展收缩效果
  7. Hibernate之总结
  8. django学习之Model(二)
  9. Libgdx: 将Texturepacker打包的PNG图片还原成一张一张的单个的
  10. 使用IDEA开发
  11. apache 负载测试工具 ab
  12. Win10常见问题记录
  13. swust oj 1016
  14. FMT 与 子集(逆)卷积
  15. 基于Spring3 MVC实现基于form表单文件上传
  16. hadoop故障及其应对
  17. centos6 下 yum 升级php5 到 php7
  18. 理解 IAAS、PAAS、SAAS
  19. 860. Lemonade Change
  20. Django 数据生命周期

热门文章

  1. mycat中间件安装与使用
  2. Python-求解两个字符串的最长公共子序列
  3. Spring,Mybatis,Springmvc框架整合项目(第一部分)
  4. Android自动化测试Uiautomator--UiCollection接口简介
  5. 关于面试总结-app测试面试题
  6. E. Lost in WHU。矩阵快速幂!
  7. jenkins之Tomcat7+jdk1.7+jenkins
  8. 解开Future的神秘面纱之任务执行
  9. Mychael原创题 洛谷T23923 Mychaelの水题 【题解】
  10. [ZJOI2007]棋盘制作 (单调栈,动态规划)