Android 服务并未结束,而是在休眠。创建新实例时重新启动,从而产生两个服务

Android service not ending, but sleeping. Restarts when a new instance is created resulting in two services

我正在从事一个 Android 项目,该项目要求我完全终止服务,然后在稍后的某个时间重新启动它。它应该在用户注销时结束,并在用户登录时重新启动。

我是这个项目的新手,Android,如果这个问题有明显的答案,我深表歉意。

该服务扩展了 IntentService。我重写了 onDestroy,在这个方法中我调用了 stopSelf() 并且我还调用了 stopService(intent),其中 intent 是传递给 onStartCommand 的意图。主要服务有一些其他服务绑定到它,但我确保在调用停止函数之前取消绑定它们(我想我已经找到了所有这些服务)。

当用户注销时,服务似乎已停止。正如预期的那样,没有日志消息出现,应用程序只是挂起。当我重新登录时,有两个服务 运行。我可以这样说,因为日志消息正在打印双倍(如果我再次注销并重新登录,则打印三倍,如果我再次注销,则打印四倍,依此类推)。例如,在 onHandleIntent

中有一条消息说 "Starting service"

哪些原因会导致服务重复重启?会不会是我错过的绑定服务?

谢谢。

我遇到的问题是该服务是 IntentService。我没有终止服务并重新启动它,而是在它运行时更改参数。