`
iaiai
  • 浏览: 2181251 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用LocalBroadcastManager

 
阅读更多
LocalBroadcastManager是Android Support包提供了一个工具,是用来在同一个应用内的不同组件间发送Broadcast的。

使用LocalBroadcastManager有如下好处:

  • 发送的广播只会在自己App内传播,不会泄露给其他App,确保隐私数据不会泄露
  • 其他App也无法向你的App发送该广播,不用担心其他App会来搞破坏
  • 比系统全局广播更加高效


和系统广播使用方式类似:

先通过LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(this); 获取实例

然后通过函数 registerReceiver来注册监听器
lbm.registerReceiver(new BroadcastReceiver() {  
        @Override  
        public void onReceive(Context context, Intent intent) {  
        // TODO Handle the received local broadcast  
        }  
    }, new IntentFilter(LOCAL_ACTION));

通过 sendBroadcast 函数来发送广播
lbm.sendBroadcast(new Intent(LOCAL_ACTION));
分享到:
评论

相关推荐

    LocalBroadcastManager

    使用LocalBroadcastManager,你需要先获取它的实例,通常是通过ApplicationContext来获取: ```java LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(context); ``` 然后,你可以...

    LocalBroadcastManager的代码示例源码

    本代码示例源码主要展示了如何使用LocalBroadcastManager进行本地广播的发送与接收,以实现应用内的通信。首先,我们来看一下LocalBroadcastManager的基本使用步骤: 1. **注册接收器**: 在使用...

    Android广播LocalBroadcastManager

    要使用LocalBroadcastManager,首先需要获取其实例,通常在Application或Activity的onCreate()方法中初始化: ```java LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(this); `...

    LocalBroadcastManager 的实现原理

    LocalBroadcastManager是Android...理解这些原理可以帮助开发者更合理地使用LocalBroadcastManager,提升应用的性能和安全性。在实际开发中,我们应该根据需求选择合适的广播方式,以达到最佳的代码结构和用户体验。

    android-关于广播机制的使用

    对于应用内部的通信,可以使用LocalBroadcastManager,它提供了一种更安全、更高效的广播机制,只在应用内部传播,不会被其他应用截获。 六、IntentFilter的配置 为了匹配广播Intent,BroadcastReceiver需要设置...

    Android笔记 Application对象的使用-数据传递以及内存泄漏问题

    - **LocalBroadcastManager**:如果数据传递仅限于应用内部,可以使用LocalBroadcastManager,它比全局广播更高效且安全。 2. 内存泄漏问题: - **单例模式**:不正确的单例实现可能导致内存泄漏,如在单例中持有...

    Android广播的各种使用方式

    对于应用内部通信,可以使用LocalBroadcastManager,它提供了一个更高效的广播机制,只在应用内部传播,不会消耗系统资源。 9. **使用场景** 广播常用于设备状态变化(如网络连接变化、电池电量变化)、系统事件...

    Andorid 服务的使用

    - **LocalBroadcastManager**: 如果仅在应用内部通信,可以使用LocalBroadcastManager发送和接收广播,避免全局广播的性能开销。 - **ContentProvider**: 对于大量数据交换,可以使用ContentProvider,但它主要是...

    service把数据传给activity

    4. **使用LocalBroadcastManager**: 对于应用内部通信,可以使用LocalBroadcastManager,它比全局Broadcast更高效,因为它只在应用内部传播。 ```java // 在Service中 LocalBroadcastManager.getInstance(this)....

    Android第一行代码源码 BroadcastBestPractice.rar

    4. 使用LocalBroadcastManager:对于应用内部通信,使用LocalBroadcastManager更安全,效率更高。 5. 对于系统广播,考虑使用IntentFilter的android:priority属性来控制接收顺序,但避免设置过高的优先级,以免影响...

    Android广播的使用

    对于只在应用内部通信的情况,推荐使用LocalBroadcastManager,它能提高性能并避免广播被其他应用截取。 ### 6. 使用IntentFilter匹配广播 IntentFilter可以通过设置不同的Action、Category、Data等属性来精确匹配...

    精选_毕业设计_中山大学智慧健康服务平台应用开发-Broadcast使用_完整源码

    7. **LocalBroadcastManager**:在大型应用中,为了避免全局广播可能带来的性能问题和安全性问题,可以使用LocalBroadcastManager进行应用内部的广播,它只在应用内部传播,提高了效率并降低了安全风险。 8. **...

    Fragment和Activity通信以及Fragment之间通信的方式(1)

    3. **使用LocalBroadcastManager**:BroadcastReceiver可以用于Fragment之间的通信,但为了防止全局广播带来的性能开销,可以使用LocalBroadcastManager。这种方式比较适合一次性、单向的消息传递。 4. **使用...

    Android Service与Activity会话Demo

    3. **LocalBroadcastManager**:当不想让其他应用访问Service的数据时,可以使用LocalBroadcastManager发送本地广播。Activity注册一个接收器,Service通过发送广播来通知Activity数据变化。这种方式相对安全,但...

    碎片的使用--平板手机要兼顾

    Fragment间通信则可以使用LocalBroadcastManager、ViewModel或者直接通过Activity作为中介。 7. **动态加载和更新**: - 在平板和手机上,可能需要根据用户的操作或网络数据的变化动态加载和更新Fragment。这可以...

    Fragemt与Activity之间的通信 双Fragment通信

    3. **使用LocalBroadcastManager**:如果两个Fragment需要广播消息,可以使用LocalBroadcastManager,它是一个轻量级的广播系统,只在应用程序内部广播。 4. **EventBus**:这是一个第三方库,通过发布/订阅模式...

    安卓广播学习的demo

    使用LocalBroadcastManager,你需要先获取Manager实例,注册和注销Receiver,然后发送本地广播: ```java LocalBroadcastManager.getInstance(context).registerReceiver(receiver, intentFilter); // 发送广播 ...

    获取Service中的信息

    5. **使用LocalBroadcastManager** 在应用内部通信中,LocalBroadcastManager提供了一个更安全、更高效的广播方式。Service可以通过它发送本地广播,客户端注册接收器来获取Service的消息。 6. **使用AIDL...

    android fragment cross 交互

    4. **使用LocalBroadcastManager**: - Android提供了LocalBroadcastManager,它允许应用程序内部的组件发送和接收广播,而不影响全局系统广播。Fragment可以发送意图,其他Fragment通过注册BroadcastReceiver来...

    Android基础程序设计第五章-广播机制.pptx

    本地广播是指在同一个应用程序内部的广播,使用LocalBroadcastManager可以发送和接收本地广播。例如,要发送一个本地广播,可以使用以下代码: ```java LocalBroadcastManager.getInstance(this).sendBroadcast...

Global site tag (gtag.js) - Google Analytics