您好我有一个活动和一个服务类 从活动开始服务 在一点我想开始服务,但在同一点我想检查服务已经运行,如果是然后我不想打电话启动服务,如果没有那么我会strat但我的问题是,我将如何了解该服务是否正在运行?
我使用下面的代码,但它不适合我是任何其他代码,将帮助我
private boolean isServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager
.getRunningServices(Integer.MAX_VALUE)) {
if ("TimerService".equals(service.service.getClassName())) {
Toast.makeText(getApplicationContext(), "running", 100).show();
return true;
}
}
Toast.makeText(getApplicationContext(), "not running", 100).show();
return false;
}
此代码始终显示即使正在运行
也不会调整答案 0 :(得分:1)
您无需检查它是否正在运行。 startService()
和stopService()
都会处理相应的状态,因此如果您调用startService()
并且您的Service
已经在运行,则不会发生任何事情(它将继续运行)。同样适用于stopService()
。