【发布时间】:2012-07-03 11:14:04
【问题描述】:
我有两个服务,服务A和服务B。如何开发服务B依赖于服务A?当我启动服务 B 时,我应该知道服务 A 是否正在运行。如果服务 A 正在运行,则启动服务 B。否则,不启动服务 B。
【问题讨论】:
标签: android service dependencies
我有两个服务,服务A和服务B。如何开发服务B依赖于服务A?当我启动服务 B 时,我应该知道服务 A 是否正在运行。如果服务 A 正在运行,则启动服务 B。否则,不启动服务 B。
【问题讨论】:
标签: android service dependencies
所以,你的问题是一样的,如何知道一项服务是否正在运行,对吧;)
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
希望对你有帮助:)
【讨论】: