本文主要是介绍eventbus指定接收者,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
http://greenrobot.org/eventbus/documentation/priorities-and-event-cancellation/
思路:设置订阅者的优先级,优先级高的接收事件处理,取消事件,事件无法继续往下传递,达到指定接收者的目的。
1.Subscriber Priorities
You may change the order of event delivery by providing a priority to the subscriber during registration.
@Subscribe(priority = 1); //设置优先级
public void onEvent(MessageEvent event) {
…
}
Within the same delivery thread (ThreadMode), higher priority subscribers will receive events before others with a lower priority.
2.Cancelling event delivery
You may cancel the event delivery process by calling cancelEventDelivery(Object event) from a subscriber’s event handling method. Any further event delivery will be cancelled: subsequent subscribers won’t receive the event.
// Called in the same thread (default)
@Subscribe
public void onEvent(MessageEvent event){
// Process the event
…
EventBus.getDefault().cancelEventDelivery(event) ; //取消事件传递
}
Events are usually cancelled by higher priority subscribers. Cancelling is restricted to event handling methods running in posting thread ThreadMode.PostThread.
这篇关于eventbus指定接收者的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!