我应该在服务中使用哪种上下文?

时间:2017-12-09 09:53:46

标签: android android-intent android-service android-context android-service-binding

我的应用程序中有两项服务 - lA_svc& lB_svc

MainActivity lauches lA_svc - 我应该使用哪context从活动中启动服务?

现在lA_svc发送了启动lB_svc的意图 - 我应该在context方法中使用startService()吗?

一段时间后,lB_svc会发送intent以启动lA_svccontext我会在这里使用吗?

您能否链接任何要点,示例以了解服务的启动背景?

2 个答案:

答案 0 :(得分:0)

  

我应该使用哪个上下文来启动服务   活动?

可以从每个组件启动Service。由于您处于活动状态,我假设您可以访问两个Context

  • 活动背景
  • 申请背景

使用哪一个并不重要,但使用您的封闭组件对我来说更有意义,因此Activity上下文(使用this)。

  

现在lA_svc发送一个启动lB_svc的意图。 - 我应该在哪个背景下   在startService()方法中使用?

同样,您可以从每个组件启动服务,并且再次使用封闭组件的Context是有意义的,因此Service上下文(只需使用this你的服务)。

  

过了一会儿,lB_svc发送一个意图来启动lA_svc,哪个上下文   我在这里用吗?

此处的问题是相同的:您想从另一个Service开始Service。所以只需使用您的Service上下文。

我读过的关于Context的最好的文章是Dave Smith的this

答案 1 :(得分:0)

基本上,您的活动和服务都是上下文。启动服务时,使用哪种上下文无关紧要。使用您的活动/服务甚至应用程序上下文。

Here's一篇很好的文章,它指明了实际使用哪个上下文的重要性。