[CAQ2]使用getRunningServices判断服务是否运行不好用

原创 2015年07月08日 17:20:55


问题:getRunningServices中没有发现自己的服务

描述:其实这个用getRunningServices判断服务是否运行的方法是网上的,但是当使用时,会出现服务已启动但是列表中没有出现的问题。

原因:其实只要仔细看一下代码就能知道getRunningServices的方法参数是获得的服务数量,所以当服务超过30个的时候,有可能就找不到你的服务了~

解决:简单点解决的话就是把30的数字调大,这样获取的服务就会更完整,但是终究治标不治本,所以如果有需求的人就好好研究一下吧。

 

调侃:附上代码,准备下班啦~

   /**
     * 用来判断服务是否运行.
     * @param context
     * @param className 判断的服务名字
     * @return true 在运行 false 不在运行
     */
    public static boolean isServiceRunning(Context mContext,String className) {
        boolean isRunning = false;
        ActivityManager activityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningServiceInfo> serviceList = activityManager.getRunningServices(30);
        if (!(serviceList.size()>0)) {
            return false;
        }
        for (int i=0; i<serviceList.size(); i++) {
            if (serviceList.get(i).service.getClassName().equals(className) == true) {
                isRunning = true;
                break;
            }
        }
        return isRunning;
    }

 

Android中获取正在运行的服务:ActivityManager.RunningServiceInfo的使用

ActivityManager.RunningServiceInfo类:  封装了正在运行的服务信息   获取系统里所有真正运行的服务是通过调用ActivityManager方法来得到的,具体方法...
  • gf771115
  • gf771115
  • 2012年09月03日 16:58
  • 11769

android5.1.1通过getRunningServices获取当前运行的pid,进程名等

今天遇到个怪事,之前项目里面的一个功能:获取Android系统应用的pid以及进程名、包名、APK大小、APK名称、图标,在Android4.2-4.4测试一直没有问题,但是今天在Android5.1...
  • waterIsTooDeep
  • waterIsTooDeep
  • 2016年08月09日 17:15
  • 3136

Android中获取正在运行的服务-------ActivityManager.RunningServiceInfo的使用

转载请注明出处:http://blog.csdn.net/qinjuning                                关于PackageManager和ActivityM...
  • qinjuning
  • qinjuning
  • 2011年11月26日 20:52
  • 34395

android 获取Service(服务)的运行状态

在开发的时候,经常会用到服务,有时候就会用到判断服务的运行状态,下面就创建一个工具类来判断服务是在还在运行。 package cn.edu.cqu.mobilesafe.utils; import...
  • chenfengdejuanlian
  • chenfengdejuanlian
  • 2015年07月22日 09:45
  • 2889

Android高手之路之获取正在运行的service,以及判断某个service是否正在运行

注:本文改自http://blog.csdn.net/android_tutor/article/details/5824581 其实主要是用了activityManager的getRunningS...
  • howlaa
  • howlaa
  • 2015年02月03日 17:18
  • 3449

android5.1.1通过getRunningServices获取当前运行的pid,进程名等

今天遇到个怪事,之前项目里面的一个功能:获取Android系统应用的pid以及进程名、包名、APK大小、APK名称、图标,在Android4.2-4.4测试一直没有问题,但是今天在Android5.1...
  • waterIsTooDeep
  • waterIsTooDeep
  • 2016年08月09日 17:15
  • 3136

Android之判断某个服务是否正在运行的方法

Android之判断某个服务是否正在运行的方法
  • jhope
  • jhope
  • 2016年12月02日 14:48
  • 1324

android5.0新特性和适配性问题

Android 5.0 是 Google 于 2014 年 10 月 15 日发布的全新 Android 操作系统 本次Android 5.0 Lollipop系统升级进行了十多项改动,...
  • chenxu6
  • chenxu6
  • 2015年03月25日 13:44
  • 2174

Android 判断程序在手机中是否是活动状态或者正在运行状态

沈阳斌子在今天项目需求上碰到个这样的问题,在Service中需要判断当前的程序是否是活动状态,换句话说也就是说后台跑的服务中有业务需求检测当前程序是否是该服务的程序 这样好让点击推送通知时跳转到不同的...
  • svrsimon
  • svrsimon
  • 2014年10月31日 14:23
  • 1446

Android——判断Service是否已经启动

延续百度地图定位的Demo,采用Service来进行百度定位,并且将数据上传到服务器上遇到了一个问题:在真机中使用清理内存来关闭程序的之后,Service会被关闭,但是过几秒中,它又会自动重启;重启就...
  • u012909091
  • u012909091
  • 2014年08月18日 22:39
  • 11053
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[CAQ2]使用getRunningServices判断服务是否运行不好用
举报原因:
原因补充:

(最多只允许输入30个字)