绑定到服务与Intent基础通信

use*_*696 5 android android-service intentservice

我发现可以使用Intents或直接绑定与服务进行通信.为什么直接绑定可能有用?听起来像是与元件的高耦合,这不是一个坏习惯吗?

khu*_*aib 3

通常,使用 context.StartService() 启动的服务会执行单个操作,并且不会向调用者返回结果。并且该服务可以无限期地运行,并且该服务应该通过调用 stopSelf() 自行停止。

有界服务提供了一个客户端服务器接口,允许组件与服务交互并发送请求、获取结果,甚至通过进程间通信 (IPC) 跨进程执行此操作。一个或多个组件可以绑定到此服务。此服务运行直到至少有一个组件绑定到它,否则它就会被销毁(停止)。

想了解更多有关有界和无界服务的信息。请参考以下链接

有界和无界服务

  • 你总是有一些沟通的技巧。但是,您必须问自己的问题是您希望服务何时运行。您是否希望它仅在客户端发送请求并需要答案时运行?(-> 绑定服务)您希望它执行任务并发送结果吗?(-> `IntentService`) 你希望它独立/永久运行并不时进行通信吗?(-> 启动服务 + 绑定或启动 + 意图) (6认同)