• Android - 无序广播动态注册广播


       代码注册时可以将广播接收者作为一个内部类写在Activity中,也可以重新写一个类继承自BroadCastReceiver,需要用代码注册(注册广播可以写在任意的地方,只有注册的广播接收者才能收到对应的广播),比如在 Activity 中的 onCreate 或者 onResume 中注册广播接收者,在 onDestory 中注销广播接收者,这种注册方式也叫动态注册。这种方式可以理解为通过代码注册的广播是和注册者关联在一起的。


       同样,先创建 MyReceiver03 这样一个广播接收者



    在这里插入图片描述


       对 onCreate方法覆写,为 MyReceiver03 动态注册,向意图过滤器中添加action (同一频道) 属性, 通过 registerReceiver方法,添加 MyReceiver03的对象 和 意图过滤器。



    在这里插入图片描述


       动态注册时,为节省系统资源,不让广播接收者时刻去监听,可以注销。覆写 onDestroy() 方法,通过 unregisterReceiver 去注销 MyReceiver03



    在这里插入图片描述



    在这里插入图片描述



       退出时,注销 MyReceiver03



    在这里插入图片描述



       核心代码如下:


    
    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            // 动态注册广播3 MyReceiver03
            // 获得 MyReceiver03的对象
            myReceiver03 = new MyReceiver03();
            // 创建意图过滤器
            IntentFilter intentFilter = new IntentFilter();
            // 向意图过滤器中添加action属性
            String action = MY_ACTION;
            intentFilter.addAction(action);
            // 动态注册
            registerReceiver(myReceiver03,intentFilter);
    
    }
    
    
    // Activity销毁时,注销广播
        @Override
        protected void onDestroy() {
            super.onDestroy();
            // 注销
            unregisterReceiver(myReceiver03);
            Toast.makeText(this,"myReceiver03广播被注销了",Toast.LENGTH_SHORT).show();
        }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
  • 相关阅读:
    面试之—K8S、Docker面试题整理
    URL转发请求
    力扣刷题 day56:10-26
    PowerCLi 导入License到vCenter 7
    MultiPlayerShoot----C++学习记录02人物
    taobao.trade.get( 获取单笔交易的部分信息(性能高),淘宝R2接口,淘宝开发平台oAuth2.0接口
    postman安装使用教程
    yarn集群NodeManager日志聚合慢问题解决方案
    王者荣耀-镜教学视频
    Phillweston 自动驾驶 决策规划算法 面经
  • 原文地址:https://blog.csdn.net/weixin_48591974/article/details/127978564