我对Android服务在哪里运行感到困惑。我知道标记为“remote”的服务在自己的进程中运行,但普通的本地服务又如何呢?如何在Android中创建两个协作但非阻塞的服务?
我问的原因是我想要两个本地服务合作,但不会被对方阻止。例如,Service1管理网络连接并接收数据包。收到一个数据包后,我需要该服务将数据包交给Service2处理信息并采取一些行动,包括可能发送一个返回消息。我需要接收,切换和处理以异步方式进行,因此网络服务可以在应用程序服务处理它们时继续接收数据包。我如何确保这种情况发生?
我知道一种解决方案是广播Intents,但是如何将自定义数据对象(即数据包)包含在Intent中?我不想实现parcelable接口(本地服务的矫枉过正),但我真的需要能够在这些服务之间传递复杂的数据对象。
感谢