我试图了解当onStartCommand返回START_REDELIVER_INTENT时,服务将如何运行。
如果我们假设从一个活动中,我们会多次调用该服务。在onStartCommand中,我们接收意图和startID。例如,已收到以下文件:
onStartCommand - intent A, startID = 1
onStartCommand - intent B, startID = 2
onStartCommand - intent C, startID = 3
onStartCommand - intent D, startID = 4
onStartCommand - intent E, startID = 5
1)如果我调用停止(id=3)而服务被终止,那么startID 1、2、4和5的意图会被重新传递吗?或者只有在停止中给出的意图被重传,即4和5?
2)如果我调用秒针(),这是否意味着原计划重发的意图被取消了?
任何反馈都很感谢,
卢佩。
发布于 2013-11-20 13:33:31
Android 文档的几个声明
"Stop the service if the most recent time it was started was startId"“如果客户端有尚未在onStart中看到的开始请求,则可以安全地避免停止(意图,int)。”
因此,在您的示例中,调用stopSelf(3)不会停止您的服务。希望这能回答你的问题。
https://stackoverflow.com/questions/20079326
复制相似问题