Android:如何停止属于另一个应用程序的服务?

时间:2016-01-14 19:06:39

标签: android android-service

我有一些应用程序使用共享库,当用户打开其中一个应用程序时启动服务。理想情况下,无论这些应用程序中有多少是打开的,都只会运行此服务的一个实例。

例如,用户打开启动服务的应用程序“A”。然后用户打开应用程序“B”,它检测到服务正在运行,停止它,然后重新启动服务本身。

这可以通过在自己的流程中运行服务,还是通过其他方法在Android中完成?

1 个答案:

答案 0 :(得分:2)

如果:

  • 导出服务,
  • 权限允许您与该服务通信,
  • 您知道如何制作Intent来识别服务

然后stopService()应该有效,假设服务可以停止(例如,没有绑定连接)。 stopService()不仅限于您自己流程中的服务。

这里的关键是安全性,确保以某种方式可以停止服务而其他不能。这并不是特别容易,这就是为什么你不认为这是一种常见的模式。

在您的情况下,或许更好的解决方案不是停止现有服务并开始新服务,而只是在服务实例已经运行的情况下单独处理。