当前位置: 首页 > 面试题库 >

如何获得正在运行的服务的参考?

唐俊英
2023-03-14
问题内容

有一个问题-
我的主要活动是启动服务,然后关闭。当应用程序下次启动时,该应用程序应获得对该服务的引用并停止它。但是我不知道如何获得正在运行的服务的引用。拜托,我希望你能帮助我。谢谢。


问题答案:
private boolean isMyServiceRunning() {
    ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
        if ("your.service.classname".equals(service.service.getClassName())) {
            return false;
        }
    }
    return true;
}

if(isMyServiceRunning()) {
    stopService(new Intent(ServiceTest.this,MailService.class));
}


 类似资料:
  • 我正在用Apache Camel路由为Spring Boot应用程序创建一些单元测试,使用Spock作为测试框架,我需要模拟来自另一个应用程序的响应。我为此制作了一个模拟控制器,但我需要将测试正在运行的端口注入一个属性。有没有方法获得测试正在运行的端口? 我试过 另外,是否有方法在文件中注入该随机端口?理想情况下,我需要在文件中执行以下操作: 其中端口是运行测试的随机端口。

  • 问题内容: 有没有办法获取正在运行的JVM的参数?是否有像jstat这样的命令行工具将JVM的pid作为输入并返回其启动参数?我对启动JVM时给出的-Xmx和- Xms值特别感兴趣。谢谢。 编辑 :澄清我的约束。我们要检查的JVM正在生产服务器上运行。因此,我们更喜欢最小的干扰。我们能够使用jstat监视JVM,因此我们希望有一个类似的简单解决方案来访问参数。 编辑 :我们还尝试使用jvisual

  • 问题内容: 在Java中获得UNIX正常运行时间的最佳方法是什么?我是否可以使用标准的Java库/函数,还是应该使用运行时的exec或ProcessBuilder执行“正常运行时间”?谢谢 问题答案: 您可以阅读: 从维基百科: 显示自上次重新启动以来系统已开启多长时间: 第一个数字是系统启动的 总秒数 。第二个数字是机器空闲的时间(以秒为单位)。

  • 问题内容: 有没有办法过早中止交易?说,我已经向数据库发送了一个命令,该命令运行五分钟,四分钟后,我想中止它。 JDBC是否定义了一种向数据库发送“停止此连接上正在执行的操作”信号的方法? 问题答案: 如james所提到的,Statement.cancel()将取消正在运行的Statement的执行(选择,更新等)。JDBC文档特别指出,Statement.cancel()可安全地从另一个线程运行

  • 我正在为Spring引导Web服务器编写集成测试 我想使用junit-jupiter(junit5)来检查服务器是否正在使用运行,以便在服务器未运行时测试不会失败... 似乎没有任何API支持这样的操作,但是可以通过其他方式实现吗?Ping 服务器?