Android中查看服务是否开启的工具类
2024-08-23 10:45:01
这个也是昨天学习的,做下总结。
检查服务是否开启要写成一个工具类,方便使用,传服务的名字返回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;
}
}
最新文章
- jxl读数据库数据生成xls 并下载
- Linux任务计划
- 如何在 Delphi 中静态链接 SQLite
- 【Android UI】Android开发之View的几种布局方式及实践
- RAID5和RAID10,哪种RAID更适合你(上)
- Android 原生listview item伸展收缩效果
- Hibernate之总结
- django学习之Model(二)
- Libgdx: 将Texturepacker打包的PNG图片还原成一张一张的单个的
- 使用IDEA开发
- apache 负载测试工具 ab
- Win10常见问题记录
- swust oj 1016
- FMT 与 子集(逆)卷积
- 基于Spring3 MVC实现基于form表单文件上传
- hadoop故障及其应对
- centos6 下 yum 升级php5 到 php7
- 理解 IAAS、PAAS、SAAS
- 860. Lemonade Change
- Django 数据生命周期
热门文章
- mycat中间件安装与使用
- Python-求解两个字符串的最长公共子序列
- Spring,Mybatis,Springmvc框架整合项目(第一部分)
- Android自动化测试Uiautomator--UiCollection接口简介
- 关于面试总结-app测试面试题
- E. Lost in WHU。矩阵快速幂!
- jenkins之Tomcat7+jdk1.7+jenkins
- 解开Future的神秘面纱之任务执行
- Mychael原创题 洛谷T23923 Mychaelの水题 【题解】
- [ZJOI2007]棋盘制作 (单调栈,动态规划)