判断服务是否在运行

在应用中涉及到后台运行服务,而使用解锁事件来重启服务保证服务是一直运行的。但是这种不加判断直接开启服务的方式优点在于快速(不必花费时间判断服务是否运行),缺点是控制的太粗糙;比较合适的方式是先判断服务是否正在运行,如果后台服务被系统优化掉了,那么通过判断去选择是否重启服务

思路:先获取系统所有正在运行的服务,然后获取这些服务的名字(包名+类名),然后和目标服务对比,如果相等,那么服务仍然在运行,返回true,否则返回false

/*** 判断服务是否正在运行* * @param context* @param className 判断的服务名字:包名+类名* @return true在运行 false 不在运行*/public static boolean isServiceRunning(Context context, String className) {boolean isRunning = false;ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);//获取所有的服务List<ActivityManager.RunningServiceInfo> services= activityManager.getRunningServices(Integer.MAX_VALUE);if(services!=null&&services.size()>0){for(ActivityManager.RunningServiceInfo service : services){if(className.equals(service.service.getClassName())){isRunning=true;break;}}}return isRunning;}

【Android】Android中判断后台服务是否正在运行相关推荐

  1. android 测试屏幕触点,如何检测Android Studio中的后台服务是否触摸了屏幕?

    我正在研究 android studio上的一个项目.我需要在后台服务中检测屏幕是否被触摸(并弹出一条消息).但是,我在后台服务中检测屏幕是否被触摸有问题而不影响使用智能手机的用户. 当我说" ...

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

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

  3. vivo显示android设备登录,android中的后台服务没有运行oppo,vivo等设备

    我想在后台运行服务,即使应用程序从堆栈中死亡.此功能在某些设备上正常工作.但在OPPO和vivo手机中,如果应用程序被杀,它将不会运行.有没有解决方案.如果没有,那么我如何打开允许屏幕.android ...

  4. 如何在Android应用程序中实现后台服务?

    在Android应用程序中实现后台服务,可以通过继承Service类来实现.下面是一个简单的示例代码: 首先,在AndroidManifest.xml文件中注册服务: <manifest xml ...

  5. android 判断安装微信,Android开发中判断手机是否安装了QQ或者微信

    下面一段代码给大家分享了android中判断手机是否安装了qq或者微信,代码简单易懂,非常不错,具有参考借鉴价值,需要的的朋友参考下吧 public static boolean isWeixinAv ...

  6. 如何在Android 10中从后台启动活动

    如何在Android 10中从后台启动活动? https://www.it1352.com/1922748.html 小米手机"后台弹出界面(允许应用在后台弹出界面)"权限问题解决 ...

  7. Android 判断某个服务是否正在运行

    判断某个服务是否正在运行的工具类 public class ServiceRunManager {public static boolean isServiceRunning(Context cont ...

  8. Android移动开发之【Android实战项目】后台服务Service

    桌面应用程序:可见 服务:不可见 长期在后台运行 帮助应用执行耗时的操作 安卓的服务:安卓四大组件之一 不可见 后台长期运行 界面与服务有时候要执行数据交互 文章目录 如何创建服务 创建一个类 继承S ...

  9. android 判断双卡手机号码,android双卡机中判断当前使用的是那张卡的数据流量

    今天主要讲的是在android 5.1及以上如何判断双卡手机中判断当前的流量是使用的那张卡. (例子中的代码会使用到java反射的知识) 首先判断数据流量开关是否打开: /** * 判断数据流量开关是 ...

最新文章

  1. 博易大师 行情服务器文件,博易大师目录
  2. 计算机网络第六章ppt课件,计算机网络与通信(第6章).ppt
  3. list contains方法_Java中给List去重的5种方法,谁的效率更高?
  4. PowerDesigner生成mysql字段comment 注释
  5. python图片内容长度识别_Python实现识别图片内容的方法分析
  6. 微服务很香--麻辣味,但要慢慢消化
  7. Android官方开发文档Training系列课程中文版:管理音频播放之控制APP的音量与播放
  8. libjpeg学习3:turbojpeg试用
  9. 艺术创意灵感地---集设网 | 人体彩绘的张力
  10. GO语言学习之路22
  11. Amesim车辆仿真--入门
  12. 敏捷与CMMI的同与不同
  13. 献给七夕|微生物和您的爱情生活
  14. sentinel.conf样例
  15. 十种能毁掉你一生职场生涯的心态
  16. 通过docker部署一个简单的web服务
  17. 初学者-----HTTP协议的基本格式
  18. CF633C Spy Syndrome 2(字典树+dp)
  19. 为什么用样本方差估计总体方差的统计量除以n-1
  20. 深度学习与计算机视觉系列(5)_反向传播与它的直观理解

热门文章

  1. 非常好用的模糊pid温度控制算法_反应罐高低温温度控制装置
  2. 11.如何在非固定大小的地图图片上正确渲染ROS小车的位置和运行轨迹
  3. 深入浅出Istio:Service mesh快速入门与实践-读书笔记(By GisonWin)
  4. 快应用之手摸手,跟我走(1)
  5. [BZOJ4399]魔法少女LJJ
  6. 暑假爆零欢乐赛SRM08题解
  7. 服务 托管型呼叫中心的核心竞争力
  8. 2015年10月15日作业
  9. C# 日志框架的添加
  10. gcc的安装----rpm包安装顺序