如何在android中停止intentservice?

如何在android中停止intentservice?,android,Android,有谁能告诉我如何在Android中停止intentservice 如果我使用stopservice来停止intentservice,它将不起作用 我已经浏览了该网站,但没有人对这个问题给出明确的答案。尝试从服务内部调用stopSelf()。报告指出,某些流程可能需要很长时间才能完成,因此您的服务很可能正在等待它们停止。你也许应该调查一下。所有请求完成后,服务将自动停止。IntentService构建为在最后一个意图由onHandleIntent(Intent)处理时自动停止,即您不需要停止它,完

有谁能告诉我如何在Android中停止
intentservice

如果我使用
stopservice
来停止intentservice,它将不起作用


我已经浏览了该网站,但没有人对这个问题给出明确的答案。

尝试从服务内部调用
stopSelf()
。报告指出,某些流程可能需要很长时间才能完成,因此您的服务很可能正在等待它们停止。你也许应该调查一下。所有请求完成后,服务将自动停止。

IntentService
构建为在最后一个意图由
onHandleIntent(Intent)
处理时自动停止,即您不需要停止它,完成后会自动停止。

根据Android的说法,在所有启动请求处理完毕后会停止服务,因此您永远不必调用stopSelf()。

如果有人遇到同样的问题,则会延迟回复。如果您调用
.stopService(intent)
其中
intent
与启动服务时使用的intent对象相同,则它将工作。

IntentService设计为仅当工作队列中的所有请求都已处理完毕时才停止自身。根据文档,IntentService类“在处理完所有启动请求后停止服务,因此您永远不必调用stopSelf()”

意图服务会自动停止,并使用

stopSelf()


只有当工作队列中存在的所有请求都已处理时。

我可以从活动中停止它吗?正如我所说,如果
stopService
没有帮助,则进程正在占用它。
受保护的抽象void onHandleIntent(Intent)因为:API级别3此方法在具有处理请求的工作线程上调用。一次只处理一个意图,但处理发生在独立于其他应用程序逻辑运行的工作线程上。因此,如果此代码花费很长时间,它将挂起对同一IntentService的其他请求,但不会挂起其他。处理完所有请求后,IntentService会自动停止,因此您不应该调用stopSelf()。
您的意思是如果我调用stopService,会向IntentService发送一个意向。如果IntentService在队列中已经有多个意向,“stopService intent”“在处理这些意图之前不会被处理?事实上,我只是发现如果在intentService中调用stopSelf(),而服务队列中仍有意图等待,那么等待的意图将不会得到执行。因此,我认为您不应该调用stopSelf(),除非您希望服务在完成工作后立即停止。