如何检查以前启动的自定义服务是否正在运行

时间:2014-03-24 19:32:13

标签: android service android-service background-thread

您好我有一个活动和一个服务类 从活动开始服务 在一点我想开始服务,但在同一点我想检查服务已经运行,如果是然后我不想打电话启动服务,如果没有那么我会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;
}

此代码始终显示即使正在运行

也不会调整

1 个答案:

答案 0 :(得分:1)

您无需检查它是否正在运行。 startService()stopService()都会处理相应的状态,因此如果您调用startService()并且您的Service已经在运行,则不会发生任何事情(它将继续运行)。同样适用于stopService()