java - ResultReceiver、广播/本地广播、Messenger 或 Eventbus?

标签 java android service

因此,我正在尝试设置一个 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/

相关文章:

java - 删除音频样本的特定部分

android - 如何在 native react 中在 ToolbarAndroid 上设置自定义字体

powershell - 格式化Powershell脚本的结果

java - 接收Activity的Android实用方法

android - Android 的 stretchableImageWithLeftCapWidth (iOS) 是什么?

javascript - AngularJS:使用服务在 Controller 之间发送值不起作用

angular - 注入(inject) MdDialogRef 的测试组件正在调用服务

java - 在组合框中显示时间

java - 我们可以在已经运行的 Kubernetes pod 中运行一个可执行的 jar 文件吗?

java - postgresql存储过程中的结果集就像java一样