相当于没有Android支持库的LocalBroadcastManager

Vin*_*ren 9 sdk android android-broadcast

StackOverflow和其他地方有很多示例使用该类LocalBroadcastManager来避免在应用程序之外广播事件.

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

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

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

Sul*_*ain 3

不,它不存在,如果您想重新创建此类,您可以阅读源代码来自行实现,而无需使用支持库。不管怎样,使用支持库有什么问题吗?它很轻。

一个解决方法可以是使用普通的 BroadCastReceiver 并将<android:exported="false">您的清单放在该接收器内,这可以避免其他应用程序向您发送意图,因此您可以伪造本地接收器。

注意:我说假装,因为 LocalBroadcastManager 有优化,不会将意图传播到系统......

希望这可以帮助。