0

我有两个服务,服务 A 和服务 B。如何开发服务 B 依赖于服务 A?当我启动服务 B 时,我应该知道服务 A 是否正在运行。如果服务 A 正在运行,则启动服务 B。否则,不启动服务 B。

4

1 回答 1

0

所以,你的问题是一样的,如何知道一项服务是否正在运行,对;)

Android 必须Activity Manager完成您的工作。

public boolean checkService(String service) {
        ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
        for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
            if (service.equals(service.service.getClassName())) {
                return true;
            }
        }
        return false;
    }

字符串服务应该是您的类名,例如:com.app.Intent

这是一个伪代码。我没有详细说明,因为启动服务的许多方法取决于您如何使用它。

if checkService("com.app.ServiceA") 
    running ServiceA;
running ServiceB;  // Because I see that ServiceB always still always run, not depend on ServiceA

希望这对你有帮助:)

于 2012-07-03T03:14:04.367 回答