我在我的Android应用中开发了一个Service
,它似乎在与我的应用程序相同的过程中正常运行。我的意思是onBind()
被称为等,我可以有效地沟通。
问题在于,当我在清单中的process
标记中定义Service
属性时,函数onBind()
永远不会被调用。
这是为什么?如何在作为单独的进程运行时绑定到服务?
请不要让我发布代码,因为我所拥有的是通用服务,问题仅仅是关于服务如何在Android上运行的理论。感谢。
答案 0 :(得分:1)
你需要使用android IPC(进程间通信) - 这意味着你需要声明你的接口文件(AIDL - 在这里阅读更多http://developer.android.com/guide/components/aidl.html)。
这背后的理论是,当你处于不同的过程中时,它们不会共享相同的内存空间。因此,它需要通过Binder api。它允许您使用一些基本数据类型或Parcelable对象。否则,您可以通过Intents进行通信。