版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广播处理Android汇报人:XXX目录3456广播接收器注册广播接收器注销广播接收器生命周期发送广播广播机制概述案例实现21701章节PART广播机制概述添加相关标题文字添加相关标题文字添加相关标题文字添加相关标题文字在Android中,有一些操作完成以后,会发送广播,比如发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。广播机制最大的特点就是发送方并不关心接收方是否接到数据,也不关心接收方是如何处理数据的。广播类似于事件处理,只不过事件的处理机制是程序组件级别的,在同一个程序内部,而广播处理机制是系统级别的(可用于不同应用程序之间)。BroadcastReceiver中文意思是广播接收器,它是接收广播消息并对消息作出反应的组件,发送广播实际上就是调用sendBroadCast()方法向系统内部发送一个Intent对象除了可以自定义广播事件之外,Android还提供了许多标准的广播Action广播机制概述02章节PART发送广播添加相关标题文字添加相关标题文字添加相关标题文字添加相关标题文字广播消息有两种,一种是系统广播,另一种是自定义广播。发送广播的方式有两种,一种是同步广播,另一种是异步广播。同步广播使用sendOrderedBroadcast()发送消息,接收器是顺序执行,可使用abortBroadcast()方法截断广播;异步广播使用sendBroadcast()发送消息,此时接收器会同步执行,彼此独立。发送广播Android中事件的广播机制是构建Intent对象,再调用sendBroadcast(intent)或sendOrderedBroadcast(intent,receiverPermission)方法向系统内部发送一个Intent对象,发送广播的主要代码如下:
//先创建Intent对象,指定广播目标ActionIntentintent=newIntent("MyReceiver_Action");
//可通过Intent携带消息intent.putExtra("msg","发送广播");
//发送广播消息sendBroadcast(intent);03章节PART广播接收器添加相关标题文字添加相关标题文字添加相关标题文字添加相关标题文字广播的接收是通过继承一个BroadcastReceiver的类来实现,覆盖其onReceive()方法。广播接收器收到广播Intent,对Intent进行判断。如果该接收器满足条件,则执行onReceiver()方法。广播接收器publicclassMyReceiverextendsBroadcastReceivers{@OverridePublicvoidonReceive(Contextcontext,Intentintent){//对接收的消息进行处理}}04章节PART注册广播接收器添加相关标题文字添加相关标题文字添加相关标题文字添加相关标题文字(1)静态注册:在系统配置文件AndroidManifest.xml的application节里中定义receiver并设置要接收的action。自Android8.0后,除少数系统广播外,不允许将广播发送到不明确的应用程序广播接收器中,所以采用静态注册的自定义广播接收器是接收不到广播消息的。(2)动态注册方式也叫Java注册,它是在activity里面调用函数来注册,和静态的内容差不多。注册广播接收器<receiverandroid:name="MyReceiver"android:enabled="true"android:exported="true"><intent-filterandroid:priority="1000"><actionandroid:name="MyReceiver_Action"/></intent-filter></receiver>MyReceiverreceiver=newMyReceiver();//创建过滤器,并指定action,使之用于接收同action的广播IntentFilterfilter=newIntentFilter("MyReceiver_Action");//注册广播接收器registerReceiver(receiver,filter);05章节PART注销广播接收器添加相关标题文字添加相关标题文字添加相关标题文字添加相关标题文字对动态注册的广播接收器,如果程序结束后没有注销Receiver,那么该Receiver会一直处于接收广播消息就绪状态,直到该程序的Context被销毁注销广播接收器一般会在Activity的onPause()、onDestroy()方法中调用unregisterReceiver()方法注销BroadcastReceiver对象。注销广播接收器的方法为:
If(receiver!=null)unregisterReceiver(receiver);06章节PART生命周期添加相关标题文字添加相关标题文字添加相关标题文字添加相关标题文字广播接收器仅在它执行onReceiver()方法时处于活跃状态。当onReceive()返回后,它即为失活状态。生命周期拥有一个活跃状态的广播接收器的进程被保护起来而不会被杀死,但仅拥有失活状态组件的进程则会在其他进程需要它所占有的内存的时候随时被杀掉。所以,如果响应一个广播信息需要很长的一段时间,一般会将其纳入一个衍生的线程中去完成,而不是在主线程内完成它07章节PART案例实现添加相关标题文字添加相关标题文字添加相关标题文字添加相关标题文字新建项目,设置基本信息包为“com.example.Sampl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年陕西建工第六建设集团校园招聘(30人)笔试历年备考题库附带答案详解
- 2026年招商凯赛复合材料(合肥)有限公司招10+人笔试历年难易错考点试卷带答案解析
- 2026天津市武清区产业投资发展有限公司面向社会招聘10人笔试历年常考点试题专练附带答案详解
- 2026四川成都市简州新城投资集团有限公司专业技术人才招聘23人笔试历年常考点试题专练附带答案详解
- 2026年山东省莱阳市高二化学下册期末考试模拟考试卷含完整答案(典优)
- 2026年江苏省邳州市高二化学下册期末考试模拟试卷附参考答案(能力提升)
- 2026年河北省辛集市高二化学下册期末考试模拟试卷附参考答案(黄金题型)
- 2026年广东省恩平市高二化学下册期末考试模拟检测卷附答案【培优B卷】
- 2026年山东省海阳市高二化学下册期末考试模拟卷附答案(综合卷)
- 2026年海南省东方市高二化学下册期末考试模拟试卷含答案(突破训练)
- 2026中国商业遥感卫星数据服务商业模式与政策限制研究
- 2026四川广安安农发展集团有限公司第三批次招聘劳务派遣制员工10人备考题库完整答案详解
- 2026学年江苏省邳州市二年级语文期末自测模拟知识串联题附答案详细答案和解析
- 2026江西宜春樟树市工业园区投资开发有限公司市场化招聘工作人员4人笔试备考试题及答案详解
- 历史福建泉州市2026届普通高中毕业班高三年级练习题库(泉州高三三检)(5.7-5.9)
- 2026年书画等级考试CCPT毛笔书法真题
- 2026年医学实验室检验外包服务质量管理
- 冀教版六年级科学下册知识点
- 公司入职offer通知模板
- 义务教育信息科技课程标准(2022年版2025年修订)解读
- 2026年人教部编版初一语文下学期期末考试卷及答案(共五套)
评论
0/150
提交评论