android - 等效于没有 Android 支持库的 LocalBroadcastManager

标签 android sdk android-broadcast

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

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

在不使用 Android 支持库的标准 SDK 中是否有等效于 LocalBroadcastManager 的东西?

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

最佳答案

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

一个解决方法是使用普通的 BroadCastReceiver 并放置 <android:exported="false"> 在你的 list 上,在这个接收器内部,这避免了其他应用程序向你发送 Intent ,所以你在伪造一个本地接收器。

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

希望这对您有所帮助。

关于android - 等效于没有 Android 支持库的 LocalBroadcastManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28189258/

相关文章:

java - 改变资源的颜色

android - 实现社交登录和应用内登录

android - 如何防止 onItemSelected 在新实例化的 Spinner 上触发?

objective-c - 谷歌广告转化片段 : Obj-C to Swift

java - 如何删除从移动设备清除应用程序数据后触发的通知

java - JSON解析性能慢

c++ - 使用 Rfc4180CsvParser 将 CSV 导入 Vertica 并排除标题行

iphone - 我可以通过 SDK 访问 iPhone 上的可视语音邮件文件吗?

android - 将服务与 Activity (广播、回调等)通信的最佳方式

android - 粘性广播接收器 - 它们如何工作?