Android 查看服务service是否正在运行 列出正在运行的服务

本文介绍了一个用于检查Android服务是否正在运行的方法。通过遍历当前运行的服务列表并比对服务名称来实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在启动服务service或者停止服务service之前,需要先判断服务是否正在运行,再决定是否启动或停止服务,启动之前如果已经启动,会造成系统资源不必要的浪费,结束之前没有启动,则会使程序异常。下面是一个判断服务是否正在运行的方法,传入参数一个是调用该方法的Activity的context,另一个是完整的服务名,包括包名。


  1. public boolean isRunning(Context c,String serviceName)
  2. {
  3. ActivityManager myAM=(ActivityManager)c.getSystemService(Context.ACTIVITY_SERVICE);
  4. ArrayList<RunningServiceInfo> runningServices = (ArrayList<RunningServiceInfo>) myAM.getRunningServices(40);
  5. //获取最多40个当前正在运行的服务,放进ArrList里,以现在手机的处理能力,要是超过40个服务,估计已经卡死,所以不用考虑超过40个该怎么办
  6. for(int i = 0 ; i<runningServices.size();i++)//循环枚举对比
  7. {
  8. if(runningServices.get(i).service.getClassName().toString().equals(serviceName))
  9. {
  10. return true;
  11. }
  12. }
  13. return false;
  14. }


转载内容来自 应用开发笔记:http://www.pocketdigi.com/20110412/242.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值