在Android中运行不同进程的服务之间的通信?

时间:2012-09-11 20:22:16

标签: android service process listener

我创建了一个在自己的进程上运行的服务。该服务将自身注册为ClipboardManager的监听器。一切正常,每当新东西复制到剪贴板时,我的服务上的回调方法被调用来捕获新的剪辑数据。

我的问题是,这两个服务如何相互通信,虽然它们运行在两个不同的进程上,而我没有实现iBinder的任何AIDL?!!

感谢,,,

1 个答案:

答案 0 :(得分:1)

发送广播并在其他服务中注册广播接收器可能是一个简单的解决方案:

发送广播: http://developer.android.com/reference/android/content/Context.html#sendBroadcast(android.content.Intent)

注册BroadcastReceiver: http://developer.android.com/reference/android/content/BroadcastReceiver.html

如果您需要使用共享的ContentProvider交换和预先确定数据也可能是一个解决方案。其他服务可以注册ContentObserver以获得有关新/更新数据的通知。