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);  
  • 相关阅读:
    apache安装 mod_evasive
    sshd调优
    MySQL服务器状态变量
    MySQL查询缓存
    MySQL并发调优和IO调优
    MySQL线程独享[转]
    mysql线程缓存和表缓存
    MySQL点滴
    MySQL优化常用
    apache的prefork的详解
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/6135376.html
Copyright © 2011-2022 走看看