Android docs about Services在名为“已启动”的子部分中说(与绑定服务相反,它是启动服务),


  “通常,已启动的服务仅执行一次操作,而不会执行
  返回结果给调用者。例如,它可能下载或
  通过网络上传文件。 ”


但是,下载操作是否不会将结果(即下载的文件)返回给调用方?

例如,从网络下载mp3文件的服务实际上返回的结果是mp3文件,不是吗?

最佳答案

started service就像是您的坏奴隶。当您要求它执行某项操作时,他会执行该操作,但他不会为您返回实际结果。例如,您问:“请给我水!”他没有拿一杯水,而是去准备一杯水,但没有给你,而是向你大喊:“我把你的水放在桌上,然后去喝。” Bound service就像是餐厅的服务员。你问他我要一杯水,他就去拿一杯水回来。

因此,现在由您来判断。奴隶剂量带来您的要求吗?我会说不,他按我的要求行事,但他只是告诉我如何获得准备好的结果。

剂量服务员带来您的要求吗?是的,当然。

started service能否以任何方式带来结果?是的,他可以,但是他的能力仅限于您可以通过意图传递的所有对象,因为为了告诉您我已经做到了,他必须使用广播。

10-06 05:29
查看更多