等效于没有 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 有优化,不会将意图传播到系统...
希望对您有所帮助。
Whosebug 和其他地方有很多示例使用 class LocalBroadcastManager
来避免在应用程序外部广播事件。
但是,这个 class 使用 Android 支持库,如包名所示:android.support.v4.content.LocalBroadcastManager
.
标准 SDK 中是否有不使用 Android 支持库的等效 LocalBroadcastManager
?
android.content.Context
中的sendBroadcast
方法好像没有这种安全粒度
不,它不存在,如果你想重新创建这个 class 你可以阅读源代码来自己实现而不使用支持库。 无论如何,使用支持库有什么问题?它很轻。
可以使用普通的 BroadCastReceiver 并将 <android:exported="false">
放在您的清单上,在此接收器内,这可以避免其他应用程序向您发送意图,因此您正在伪造本地接收器。
注意:我说伪造,因为 LocalBroadcastManager 有优化,不会将意图传播到系统...
希望对您有所帮助。