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. 留个未来…

posted @ 2017-01-23 22:40  jamesK4W  阅读(3369)  评论(0编辑  收藏  举报