【问题标题】:Communication Between Services Running on Different Processes in Android?Android中不同进程上运行的服务之间的通信?
【发布时间】:2012-09-11 20:22:16
【问题描述】:

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

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

谢谢,,,

【问题讨论】:

    标签: android service process listener


    【解决方案1】:

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

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

    注册一个广播接收器: http://developer.android.com/reference/android/content/BroadcastReceiver.html

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

    【讨论】:

    • 啊哈,所以..这都是关于广播和广播接收器的......没有直接通信!我明白了...谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 2018-02-18
    • 1970-01-01
    • 2017-05-19
    相关资源
    最近更新 更多