没有Android支持库的LocalBroadcastManager的等价物

在StackOverflow和其他地方有很多例子,使用LocalBroadcastManager类来避免在应用之外广播事件。

但是,该类使用Android支持库,如包名称所示: android.support.v4.content.LocalBroadcastManager

在没有使用Android支持库的标准SDK中是否有相当于LocalBroadcastManager的?

android.content.Context中的sendBroadcast方法似乎没有这种安全粒度。

Solutions Collecting From Web of "没有Android支持库的LocalBroadcastManager的等价物"

不,它不存在,如果你想重新创build这个类,你可以阅读源代码来实现你自己,而不使用支持库。 无论如何,使用支持库有什么问题? 它是轻量级的。

有一点解决方法可以使用普通的BroadCastReceiver,并在你的清单上放置<android:exported="false">这个接收器,这样可以避免其他应用程序向你发送意图,所以你伪造了一个本地接收器。

注:我说假装,因为LocalBroadcastManager有优化,没有传播意图到系统…

希望这可以帮助。