重启服务

时间:2014-01-27 01:28:00

标签: android android-service

我有一个包含Activity和服务的android应用程序。我想让服务在启动时启动。我会使用activity来为用户提供UI以配置某些params并启动服务。我希望服务在启动时启动。我知道我可以this方式做到。

现在我有两个与此相关的问题:

  1. 服务始终在启动时启动。但是如果我想阻止它呢?我可以通过简单地调用stopService()来在活动中完成吗?(需要用户想要更改正在运行的服务的参数。)
  2. 如果我安装了较新版本的应用程序(可能在服务类中进行了少量更改),它是否会自动停止服务并将其替换为较新的服务?

2 个答案:

答案 0 :(得分:1)

假设您调用了正确的服务(如果您只有1,那么它将起作用),stopService将停止您的服务。这对于你提出要求的原因是必要的,如果params改变你需要能够启动/停止服务。

Å新版本更新将自动停止服务。在JB之后,即使在重新启动时,该服务也不会自动重启,直到用户打开您的应用程序。这是出于安全原因。

答案 1 :(得分:0)

在您的服务中添加BroadcastReceiver,就像您收听BOOT_COMPLETED广播一样,然后您可以在视觉活动中发送自定义广播以停止服务。
通过这种方式,您还可以重新启动服务,只需完成它并开始一个新服务。