判断某个服务是否正在运行的工具类

public class ServiceRunManager {public static boolean isServiceRunning(Context context) {boolean isRunning = false;ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);List<ActivityManager.RunningServiceInfo> serviceList = activityManager.getRunningServices(Integer.MAX_VALUE);if (serviceList == null || serviceList.size() == 0) {return false;}for (int i = 0; i < serviceList.size(); i++) {if (serviceList.get(i).service.getClassName().equals(MyService.class.getName())) {isRunning = true;break;}}return isRunning;}
}

方法使用

 if (ServiceRunManager.isServiceRunning(MainActivity.this)) {Log.e(MyService.class.getSimpleName(), "在运行");} else {Log.e(MyService.class.getSimpleName(), "不在在运行");}

测试结果

把上面的Manager 变成单例的方法

public class ServiceRunManager {public static ServiceRunManager serviceRunManager = null;private ServiceRunManager() {}public static ServiceRunManager getInstance() {if (serviceRunManager == null) {serviceRunManager = new ServiceRunManager();}return serviceRunManager;}public boolean isServiceRunning(Context context) {boolean isRunning = false;ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);List<ActivityManager.RunningServiceInfo> serviceList = activityManager.getRunningServices(Integer.MAX_VALUE);if (serviceList == null || serviceList.size() == 0) {return false;}for (int i = 0; i < serviceList.size(); i++) {if (serviceList.get(i).service.getClassName().equals(MyService.class.getName())) {isRunning = true;break;}}return isRunning;}
}

单例的使用

 if (ServiceRunManager.getInstance().isServiceRunning(MainActivity.this)) {Log.e(MyService.class.getSimpleName(), "在运行");} else {Log.e(MyService.class.getSimpleName(), "不在在运行");}

Android 判断某个服务是否正在运行相关推荐

  1. Android判断后台服务(Service)是否运行

    今天在项目中需要判断某个服务是否在后台运行,因此写了一个工具类方便大家调用,话不多说,上代码. *** 服务工具类* * @author Administrator* */ public class ...

  2. android 判断服务是否正在运行,Android 判断某个服务(service)是否运行

    判断某个服务是否正在运行的方法 实现代码: /** * * * @param mContext * @param serviceName * 是包名+服务的类名(例如:net.loonggg.test ...

  3. 【Android】Android中判断后台服务是否正在运行

    判断服务是否在运行 在应用中涉及到后台运行服务,而使用解锁事件来重启服务保证服务是一直运行的.但是这种不加判断直接开启服务的方式优点在于快速(不必花费时间判断服务是否运行),缺点是控制的太粗糙:比较合 ...

  4. Android 判断无障碍服务权限是否已经打开

    (Android无障碍服务开发QQ群:752296312)  本文以下内容转摘自:https://blog.csdn.net/liuhongshuo2012/article/details/50751 ...

  5. android 判断activity是否在运行,Android 判断某个Activity 是否在前台运行的实例

    如下所示: /** * 判断某个界面是否在前台 * * @param context Context * @param className 界面的类名 * @return 是否在前台显示 */ pub ...

  6. Android判断系统前后台应用和服务之ActivityManager

    在一个应用中,或一个Service .Receiver中判断一个应用是否正在运行,以便进行一些相关的处理. 这个时候我们需要得到一个ActivityManager,这个Manager顾名思意就是管理A ...

  7. android5.0以后获取应用运行状态,Android判断App前台运行还是后台运行(运行状态)...

    本文通过图文并茂的方式给大家介绍android判断app状态的相关内容,具体详情如下所示: 要了解这块,首先需要明白一些概念,app,process,task 1.process就是进程,是linux ...

  8. Android判断Service是否运行

    /*** 用来判断服务是否运行.* @param context* @param className 判断的服务名字* @return true 在运行 false 不在运行*/public stat ...

  9. Android判断一个Service是否运行

    来自陈显的博客http://www.cnblogs.com/chenxian/ /*** 判断给定名称的服务时候已经运行* @param context* @param serviceName* @r ...

最新文章

  1. Action Golf 四个魔法球实战训练系列_huatuo_新浪博客
  2. 【C#】【Log】Common.Logging.MultipleLogger及ETWLoggerd研究
  3. 每天2亿美元投入AI领域,1/10砸向自动驾驶,中国AI论文首超全欧洲 | 斯坦福全球AI年度报告...
  4. java httprequesthandler_Spring-webmvc源码解析之ResourceHttpRequestHandler
  5. sort+参数+linux,linux sort下令参数及用法详解
  6. android手机生成pdf格式文件,Android根据pdf模板生成pdf文件
  7. 应用虚拟化之规划篇二 项目流程规划
  8. Windows服务器配置DFS实现文件同步
  9. springAOP,面向切面编程详解,通俗易懂
  10. EXCEL 数据透视表的制作
  11. postgresql 中文排序
  12. sql语句多条件查询语句拼接
  13. arm9开发板重新生成文件系统,并烧写
  14. 一块硬盘装了黑苹果 一块硬盘装了win7_自己组装一台“iMac”是什么体验(下):AMD 平台也能吃上黑苹果...
  15. 可视化GDP动态图表EXCEL也能搞定,如何用Excel做动态图表
  16. 动态化部署:Android热修复之代码修复(一)
  17. dubbo中文官方文档(新地址)
  18. opencv4+contrib 编译
  19. 如何将高版本的CAD文件转成低版本的CAD文件
  20. eclipse设置系统的字体

热门文章

  1. 2022-2028年中国树脂行业市场研究及前瞻分析报告
  2. 用心真诚对待,懂你的人
  3. NLLLoss CrossEntropyLoss Pytorch
  4. jieba中文分词源码分析(四)
  5. 左神讲算法——二分法及其拓展
  6. 吉利蔚来造手机,小米造车
  7. Mobileye高级驾驶辅助系统(ADAS)
  8. 旷视MegEngine网络搭建
  9. 2021年大数据Flink(二十四):​​​​​​​Allowed Lateness案例演示
  10. CentOS7下启动Nginx出现Failed to start nginx.service:unit not found