Android上的广播意图与多播侦听器实现

时间:2015-06-10 15:12:51

标签: android android-intent listener broadcast

我想让几个对象同时订阅一个事件。

目前我看到两种方法:发送广播意图,或实现多播侦听器(包含订阅侦听器数组的管理器类,以及订阅和取消订阅功能),例如C#中的内置事件。

哪个是Android上的最佳做法?或者还有其他值得考虑的方法吗?

3 个答案:

答案 0 :(得分:1)

  

这是Android上的最佳做法?

如果您尝试在应用之间执行此操作,请使用广播。

如果您尝试在一个应用中执行此操作,请使用an existing event bus implementation,例如Otto或greenrobot的EventBus,而不是重新发明该轮。

答案 1 :(得分:1)

将每个对象预订到广播接收器可能不是一个好主意,因为执行顺序是未知的。在顶层,您可以拥有一个广播接收器,它将接收意图并具有通知其内部所有听众的逻辑。

答案 2 :(得分:1)

您可以尝试LocalBroadcastManager,这是一种用于发送广播意图的轻量级解决方案,它是Android支持库v4的一部分。