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



嗨,我有一个活动和一个服务类从活动开始服务在某一点上,我想启动服务,但在同一点上,我想检查服务是否已经运行,如果是,那么我不想调用启动服务,如果不是,那么我将启动,但我的问题是,我将如何知道服务是否正在运行?

我使用下面的代码,但它不为我工作是任何其他代码,这将帮助我

  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;
}

这个代码总是显示我没有调谐,即使它正在运行

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

相关内容

最新更新