如何将处理程序传递给LocalBroadcastManager.registerReceiver(...)

时间:2014-02-10 20:50:22

标签: android broadcastreceiver localbroadcastmanager

Android提供全局registerReceiver(),其签名为Handler。使用LocalBroadcastManager.registerReceiver()时,没有方法需要Handler。为什么?如何提供将处理广播的Handler

1 个答案:

答案 0 :(得分:1)

  

使用LocalBroadcastManager.registerReceiver()时,没有采用Handler的方法。为什么?

为什么会这样?没有方法需要HashMapRestaurant

  

如何提供处理广播的处理程序?

您的BroadcastReceiver实例可以在数据成员中保留Handler,可以转发该消息。

当然,在这种情况下,首先使用LocalBroadcastManager几乎没有价值。只需使用Handler(也许是Messenger)。或者,切换到提供更多线程灵活性的事件总线,如greenrobot的EventBus,这样就可以摆脱Handler