我正在使用 IntentService 将图像上传到服务器。我的问题是我不知道如何/何时停止服务。当我在 onHandleIntent(Intent ..) 中调用 stopself() 时,所有在 IntentService 队列中等待的 Intent 都会被删除。但是我不想从活动中停止服务,因为即使我的应用程序没有运行,我也想完成上传过程。
问问题
22133 次
2 回答
46
我的问题是我不知道如何/何时停止服务。
IntentService
onHandleIntent()
如果在运行时没有向它发送更多命令,它会在结束时自动停止onHandleIntent()
。因此,您不必IntentService
自己手动停止。
当我在 onHandleIntent(Intent ..) 中调用 stopself() 时,所有在 IntentService 队列中等待的 Intent 都会被删除。
这就是为什么你不这样做。
但是我不想从活动中停止服务,因为即使我的应用程序没有运行,我也想完成上传过程。
然后你让IntentService
停止本身。
于 2012-04-20T17:37:51.440 回答
5
当IntentService
没有更多Intent
s(作业)要处理时,它会自行停止。它stopSelf(startId)
为每个Intent
(作业)运行。看看IntentService
源代码或Extending the Service Class
从这里http://developer.android.com/guide/topics/fundamentals/services.html
于 2012-04-20T17:37:47.243 回答