谁能告诉我如何在Android中停止intentservice
?如何在android中停止intentservice?
如果我使用stopservice
停止的intentservice,这是行不通的。
我浏览过的网站,但没有人给出明确的回答了这个问题。
谁能告诉我如何在Android中停止intentservice
?如何在android中停止intentservice?
如果我使用stopservice
停止的intentservice,这是行不通的。
我浏览过的网站,但没有人给出明确的回答了这个问题。
尝试从服务中调用stopSelf()
。 documentation表示某些流程可能需要很长时间才能完成,因此您的服务很可能会等待他们停止。你应该仔细研究一下。一旦所有请求都完成,服务会自行停止。
的IntentService
是建立在自行停止当最后一个目的是通过onHandleIntent(Intent)
处理 - 即你不需要停止它,当它完成它停止它的自我。
按照documentation的Android停止服务后,都开始请求被处理,所以你从来没有打电话给stopSelf()。
迟到的回复,以防有人遇到同样的问题。如果你打电话<yourContext>.stopService(intent)
其中intent
是相同的意图对象,你用来启动服务,那么它会工作。
的IntentService旨在停止本身,只有当所有存在于工作队列中的请求已按文档handled.As,IntentService 类“停止所有的服务开始请求被处理后,所以你永远不会有调用stopSelf()”
我能阻止它从一个活动? – user1127497 2012-01-03 09:17:44
就像我说的,如果'stopService'没有帮助,一个过程就会占用它。 '保护抽象无效onHandleIntent(意向意图) 自:API级别3 此方法工作线程上调用与处理请求。一次只处理一个Intent,但处理发生在与其他应用程序逻辑独立运行的工作线程上。所以,如果这段代码需要很长时间,它会阻止对同一个IntentService的其他请求,但它不会阻塞其他任何东西。当所有请求都被处理后,IntentService会自行停止,所以你不应该调用stopSelf()。' – 2012-01-03 09:19:11
你的意思是如果我调用stopService,一个intent将被发送到intentservice。如果intentservice已经在队列中有多个意图,那么在停止意图处理之前,“stopservice intent”将不会被处理? – user1127497 2012-01-03 09:30:46