zoukankan      html  css  js  c++  java
  • Fragment使用LocalBroadcastManager接收广播消息

    这种方式不用在配置文件加东西

    变量声明

    1. LocalBroadcastManager broadcastManager;  
    2. IntentFilter intentFilter;  
    3. BroadcastReceiver mReceiver;  


    广播注册,可以写在Activity(onCreate),也可以写在Fragment(onActivityCreated)里。

    1. broadcastManager = LocalBroadcastManager.getInstance(getActivity());  
    2. intentFilter = new IntentFilter();  
    3. intentFilter.addAction("android.intent.action.CART_BROADCAST");  
    4. mReceiver = new BroadcastReceiver() {  
    5.             @Override  
    6.             public void onReceive(Context context, Intent intent){  
    7.                 //收到广播后所作的操作  
    8.             }  
    9.  };  
    10.  broadcastManager.registerReceiver(mReceiver, intentFilter);  


    发送广播

    1. Intent intent = new Intent("android.intent.action.CART_BROADCAST");  
    2. LocalBroadcastManager.getInstance(getActivity()).sendBroadcast(intent);  

    当然,和正常广播一样,也要在对应的生命周期中反注册掉:  

      1. @Override    
      2. protected void onDestroy() {    
      3.    super.onDestroy();    
      4.    broadcastManager.unregisterReceiver(mReceiver);  
  • 相关阅读:
    第一次作业
    C语言I博客作业04
    C语言I博客作业05
    c语言l博客作业02
    C语言I博客作业06
    linux下递归删除目录下所有exe文件
    CSS高级
    CSS样式
    CSS框模型
    Oracle的用户、角色和权限
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/6135376.html
Copyright © 2011-2022 走看看