首页 > 其他分享 >移动应用开发-第8章广播机制

移动应用开发-第8章广播机制

时间:2024-06-23 20:59:27浏览次数:18  
标签:接收 接收者 广播 注册 机制 移动 Android

广播是一种运用在组件之间传递消息的机制。如果要接收并过滤广播中的信息,则需要使用BroadcastRecciver(广播接收者)。

8.1广播机制的概述

Android中的广播机制更加灵活,因为Android中每个应用程序都可以根据自己的需要对广播进行注册,所以该程序只会接收自己关注的广播内容,这些广播可能是Android系统发送的,也可能是其他应用程序发送的。

Android中的广播机制用于进程或线程间通信。该机制使用了观察者模式。在该模式下,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时会主动发出遍知。

广播机制的实现流程:

①广播接收者是通过Binder机制在AMS(处理中心)中进行注册的。

②广播发送者是通过Binder机制向AMS发送广播。

③AMS查找到符合相应条件的广播接收者,会将广播发送到相应的消息循环队列中。

④程序执行消息循环时会获取到此广播,并会回调广播接收者中的onReceive()方法进行相关的处理。

8.2广播接收者

1,当Android系统产生一个广播事件时,可以有多个对应的BroadcastReceiver接收并进行处理,这些广播接收者只需要在清单文件或代码中进行注册并指定要接收收广播事件,然后创建一个继承了BroadcastReceiver的类,在该类中重写onReceive()方法,并在onReceive()方法中对广播事件进行处理。

2,创建广播接收者:

①第一种创建方式。继承BroadcastReceiver,重写onReceive()方法。

②第二种创建方式。选中BroadcastReceiver应用程序的包。

3,注册广播接收者:分为动态注册和静态注册。动态注册是在Activity中通过代码注册广播接收者,静态注册是在清单文件中通过配置广播接收者完成注册。动态注册的广播接收者是否被注销依赖于注册广播的组件。

8.3自定义广播与广播的类型

8.3.1自定义广播

当系统提供的广播不能满足实际需求时,可以自定义广播。代码:

Intent intent=new Intent();

intent.setAction(……);//定义广播的事件类型

sendBroadcast(intent);//发送自定义广播

广播的事件类型可以调用setAction()方法自己定义。

8.3.3广播的类型

①无序广播:完全异步执行的,发送广播时,所有监听这个广播的广播接收器都会接收到此广播消息,但接收和执行的顺序不确定。效率高,无法被拦截。

②有序广播:按照广播接收者声明的优先级别被依次接收,发送广播时,只会有一个广播接收者能够接收此消息,当在此广播接收者中逻辑执行完毕之后,广播才会继续传递。效率低,有先后顺序,可被拦截。

 

 

 

标签:接收,接收者,广播,注册,机制,移动,Android
From: https://blog.csdn.net/2302_78218660/article/details/139836212

相关文章

  • 数据库系统概论(超详解!!!) 第十四节 数据库并发控制机制
    多用户数据库系统:允许多个用户同时使用的数据库系统例:飞机定票数据库系统银行数据库系统特点:在同一时刻并发运行的事务数可达数百上千个多事务执行方式:(1)事务串行执行每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行。不能充分利用系统资源,发挥数据库......
  • Android 事件分发机制详解(下)
    2.3View事件分发机制从上面ViewGroup事件分发机制知道,View事件分发机制从dispatchTouchEvent()开始源码分析/***源码分析:View.dispatchTouchEvent()*/publicbooleandispatchTouchEvent(MotionEventevent){if((mViewFlags&ENABLED_MASK)......
  • 第4篇:LangChain的数据流与处理机制
    在大数据时代,高效处理和分析海量数据是每个数据工程师和科学家的终极梦想。LangChain作为一种强大的分布式数据处理框架,通过其独特的数据流处理机制,帮助我们实现这一梦想。今天,我们将深入探讨LangChain的数据流处理方式,详细讲解数据流在LangChain中的处理过程,并提供完整的Py......
  • Transformer细节(五)——详解Transformer解码器的自注意力层和编码器-解码器注意力层数
    一、自注意力层(Self-AttentionLayer)并行处理目标序列        自注意力层的任务是计算输入序列中每个位置之间的关系,并生成每个位置的表示。这一过程可以并行处理,因为它并不依赖于前一个位置的计算结果。自注意力机制的具体步骤1.输入嵌入与位置编码      ......
  • Linux开发讲课9--- Linux的IPC机制-内存映射(Memory Mapping)
            Linux的IPC(Inter-ProcessCommunication,进程间通信)机制是多个进程之间相互沟通的方法,它允许不同进程之间传播或交换信息。Linux支持多种IPC方式,包括但不限于:管道(Pipe):包括无名管道和命名管道(FIFO)。无名管道是半双工的,通常用于具有亲缘关系的进程间通信,如父子......
  • 红队内网攻防渗透:内网渗透之内网对抗:横向移动篇&入口差异&切换上线&IPC管道&AT&SC任务
    红队内网攻防渗透1.内网横向移动1.1横向移动入口知识点1.1.1、当前被控机处于域内还是域外1.1.1.1在域内1.1.1.2不在域内1.1.1.2.1第一种方法提权到system权限1.1.1.2.2第二种方法切换用户上线1.1.1.2.3kerbrute枚举用户1.1.2、当前凭据为明......
  • 红队内网攻防渗透:内网渗透之内网对抗:横向移动篇&入口切换&SMB共享&WMI管道&DCOM组件&I
    红队内网攻防渗透1.内网横向移动1.1WMI进行横向移动1.1.1利用条件:1.1.1利用详情1.1.1.1wmic1.1.1.1.1正向shell上线1.1.1.1.2反向shell上线1.1.1.2cscript(不建议使用)1.1.1.3wmiexec-impacket1.1.1.4cs插件1.2SMB横向移动1.2.1利......
  • 【JVM】Tomcat 的类加载机制
    Tomcat是一个开源的JavaServlet容器,用于运行JavaWeb应用程序。它的类加载机制相对复杂,因为它需要在支持多种应用的同时保持隔离性和灵活性。以下是Tomcat类加载机制的详细描述。Tomcat类加载器的层次结构Tomcat采用了一种层次化的类加载器结构,以便在不同的应用......
  • 关于iis自动回收机制
    1、iis默认20分钟会自动回收2、启动模式修改为AlwaysRunning 2、设置应用程序池》》高级设置》》回收。设置发生错误禁止回收改为true,禁用重叠回收改为true,固定时间改为0; 3、设置进程模型》超时设置,默认20分钟改为0;最大1740,改为0的时候也是最大1740分钟即29个小时。......
  • 理解C++虚函数和虚表(vtbl)机制
    引言C++是一种强大且灵活的编程语言,它支持面向对象编程(OOP)的各种特性,其中虚函数(virtualfunction)是实现多态性(polymorphism)的关键机制。本文将深入探讨虚函数的原理、虚表(vtbl)的作用,以及这些特性在实际编程中的实现。通过理解这些概念,您将能够更好地掌握C++的多态性和面向......