【问题标题】:Android - passing callback from activity to serviceAndroid - 将回调从活动传递到服务
【发布时间】:2014-07-24 00:32:53
【问题描述】:

我有一种情况,一个activity需要启动2个服务,一个是绑定的,一个没有。

绑定将返回一个 Ibinder 到活动。但是活动需要一些如何为这两个服务提供回调,即两个服务必须能够调用活动中嵌套类中的某些方法。

最好的方法是什么?我应该使用来自服务的广播,然后从 onReceive() 调用所需的 API 吗?或者我可以在意图中将 IBinder 从我的活动传递给服务,并且服务可以使用它来进行 IPC 回调?

编辑

忘了澄清.. 这两个服务与活动在不同的应用程序中。

【问题讨论】:

    标签: android android-activity android-service


    【解决方案1】:

    您可以使用LocalBroadcastManager 发送IntentActivity

    我认为这是 EventBusOtto

    场景的最佳选择

    EventBus 是 Android 优化的发布/订阅事件总线。一个 Android 应用程序的典型用例是粘合活动、片段和 后台线程在一起。这些元件的常规布线 经常引入复杂且容易出错的依赖和生命周期 问题。使用 EventBus 通过所有参与者传播侦听器 (例如后台服务 -> 活动 -> 多个片段或助手 类)被弃用。 EventBus 将事件发送者和 接收器,从而简化了应用程序组件之间的通信。 更少的代码,更好的质量。而且你不需要实现一个单一的 界面!

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多