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);  
  • 相关阅读:
    NoSuchElementException if input is exhausted 报错
    批量更改文件后缀名
    初识Java
    简单cmd
    电脑操作简易快捷键
    java学习 Markdown+开始写博客
    JavaScript基础知识
    当数位数不够这,前面补0
    vs code 设置
    json日期格式转换为 2019-11-27 格式
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/6135376.html
Copyright © 2011-2022 走看看