等效于没有 Android 支持库的 LocalBroadcastManager

Equivalent of LocalBroadcastManager without Android support library

Whosebug 和其他地方有很多示例使用 class LocalBroadcastManager 来避免在应用程序外部广播事件。

但是,这个 class 使用 Android 支持库,如包名所示:android.support.v4.content.LocalBroadcastManager.

标准 SDK 中是否有不使用 Android 支持库的等效 LocalBroadcastManager

android.content.Context中的sendBroadcast方法好像没有这种安全粒度

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

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

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

希望对您有所帮助。