因此,我正在尝试设置一个 Intent 服务以从 Internet 下载数据,并且我希望该服务将结果对象发送到 Activity (或通知 Activity 下载过程已完成)。但我不知道使用这些方法/类中的哪一个。它们之间有什么区别?
最佳答案
如今,我会使用事件总线进行服务-> Activity 通信(LocalBroadcastManager、Square 的 Otto、greenrobot 的 EventBus)。无需绑定(bind),无需自己的Handler,无需自己的Messenger,灵 active 更大。
除此之外,如果您正在使用绑定(bind),只需创建您自己的监听器界面,这与您使用 OnClickListener 来监听按钮点击的方式没有什么不同。唯一的变化是除了接收事件之外,您还将引发事件(调用监听器上的方法)。
还有 ResultReceiver,虽然我没看到它用得那么多。
关于java - ResultReceiver、广播/本地广播、Messenger 或 Eventbus?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36205722/