JeremyLiao / LiveEventBus

:mailbox_with_mail:EventBus for Android,消息总线,基于LiveData,具有生命周期感知能力,支持Sticky,支持AndroidX,支持跨进程,支持跨APP
Apache License 2.0
3.87k stars 529 forks source link

阻断事件传递/发送事件只被接收一次 #128

Open flylinlan opened 3 years ago

flylinlan commented 3 years ago

作者,您好,有个问题,我在BaseActivity监听了一个事件,发送事件后,继承Base的每个界面都收到了这个事件,怎么可以只让当前页面接收事件,其它页面resume后,不接收到事件;

kanshenmekan commented 3 years ago

用一个标志位不行吗

JeremyLiao commented 3 years ago

作者,您好,有个问题,我在BaseActivity监听了一个事件,发送事件后,继承Base的每个界面都收到了这个事件,怎么可以只让当前页面接收事件,其它页面resume后,不接收到事件;

我觉得可以在config中把lifecycleObserverAlwaysActive设置为false,这样只有前台可见的activity可以收到消息,但是其他不可见的activity在恢复可见之后也会收到消息

NamHofstadter commented 3 years ago

接收到消息的时候判断一下是不是栈顶activity呗,虽然不高级,好在实用