Android 如何判断指定服务是否在运行中 “Service”

Posted jamesK4W

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 如何判断指定服务是否在运行中 “Service”相关的知识,希望对你有一定的参考价值。

如何判断一个服务是否正在运行中:

/**
     * 判断某个服务是否正在运行的方法
      * 
     * @param mContext
     * @param serviceName 是包名+服务的类名
      * @return true代表正在运行,false代表服务没有正在运行
     */
    public static boolean isServiceWork(Context mContext, String serviceName) {
        boolean isWork = false;
        ActivityManager myAM = (ActivityManager) mContext
                .getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningServiceInfo> myList = myAM.getRunningServices(40);
        if (myList.size() <= 0) {
            return false;
        }
        for (int i = 0; i < myList.size(); i++) {
            String mName = myList.get(i).service.getClassName().toString();
            if (mName.equals(serviceName)) {
                isWork = true;
                break;
            }
        }
        return isWork;
    }

可能的使用场景是:强制停止某个指定的服务。

 

疑问:

1. 上述指令逻辑中,出现了可疑的参数:40。该参数作用如何?

2. 留个未来…

以上是关于Android 如何判断指定服务是否在运行中 “Service”的主要内容,如果未能解决你的问题,请参考以下文章

android判断某服务是不是正在运行

android 判断Service是否在运行

Android 如何判断一个应用在运行(转)

如何判断我在 Android 代码中运行的是啥设备

Android判断当前系统时间是否在指定时间的范围内(免消息打扰)

Android中判断当前处于哪个Activity