位置: 编程技术 - 正文

Android之Broadcast与BroadcastReceiver

编辑:rootadmin

推荐整理分享Android之Broadcast与BroadcastReceiver,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

本文原文链接 BroadcastReceiver:

在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件。下面将详细的阐述如何发送Broadcast和使用BroadcastReceiver过滤接收的过程:

首先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action、Category)装入一个Intent对象,然后通过调用 Context.sendBroadcast()、sendOrderBroadcast()或sendStickyBroadcast()方法,把 Intent对象以广播方式发送出去。

当Intent发送以后,所有已经注册的BroadcastReceiver会检查注册时的IntentFilter是否与发送的Intent相匹配,若匹配则就会调用BroadcastReceiver的onReceive()方法。所以当我们定义一个BroadcastReceiver的时候,都需要实现onReceive()方法。

注册BroadcastReceiver有两种方式: 一种方式是,静态的在AndroidManifest.xml中用标签生命注册,并在标签内用标签设置过滤器。

另一种方式是,动态的在代码中先定义并设置好一个 IntentFilter 对象,然后在需要注册的地方调Context.registerReceiver()方法,如果取消时就调用 Context.unregisterReceiver()方法。如果用动态方式注册的BroadcastReceiver的Context对象被销毁时,BroadcastReceiver也就自动取消注册了。(特别注意,有些可能需要后台监听的,如短信消息)

另外,若在使用sendBroadcast()的方法是指定了接收权限,则只有在AndroidManifest.xml中用标签声明了拥有此权限的BroascastReceiver才会有可能接收到发送来的Broadcast。同样,若在注册BroadcastReceiver时指定了可接收的Broadcast的权限,则只有在包内的AndroidManifest.xml中 用标签声明了,拥有此权限的Context对象所发送的Broadcast才能被这个 BroadcastReceiver所接收。

1.静态注册BroadcastReceiver:

静态注册比动态注册麻烦点,先新建一个类继承BroadcastReceiver,如:

clsReceiver2.java

Android之Broadcast与BroadcastReceiver

然后到AndroidManifest.xml 添加receive标签

第一个name是类名,即你的继承BroadcastReceiver的类的名字,里面实现了BroadcastReceive的onReceive()方法,来处理你接到消息的动作。

第二个name是action的名称,即你要监听的消息名字(其它消息都会被过滤不监听)。

2.动态注册BroadcastReceiver:

主要代码部分为:

  intentFilter.addAction(String); //为BroadcastReceiver指定action,即要监听的消息名字。

  (一般:在onStart中注册,onStop中取消unregisterReceiver)

========================================================================

Broadcast:

发送广播消息,把要发送的信息和用于过滤的信息(如Action、Category)装入一个Intent对象,然后通过调用 Context.sendBroadcast()、sendOrderBroadcast()或sendStickyBroadcast()方法,把 Intent对象以广播方式发送出去。

例如:

android图片压缩终极解决方案 首先说一下论坛其他同学的压缩方法,基本上都是bitmap.compress方法,要么压缩尺寸,要么降低图片质量,这种帖子一翻一大堆。有这方面开发的同学应

Android-Universal-Image-Loader最新框架解析 Android-Universal-Image-Loader(对应版本号1.9.4为最新版)原文作者:顾学武编辑整理:快码众包目录1.个性的ImageLoader配置1.1.在哪儿配置以及如何配置2.各式

BaseAdapter初体验---(mooc) 数据适配器-BaseAdapter什么是数据适配器?-数据适配器的使用:1.降低程序耦合性2.容易扩展ListView的显示与缓存机制-需要才显示,显示完就回收到缓存eclip

标签: Android之Broadcast与BroadcastReceiver

本文链接地址:https://www.jiuchutong.com/biancheng/386777.html 转载请保留说明!

上一篇:android 常用代码(安卓通用代码)

下一篇:android图片压缩终极解决方案(android图片压缩库)

  • 自行研发的无形资产不确认递延所得税
  • 差额征税的税率怎么计算
  • 个人以房产投资企业需要过户吗
  • 水利建设基金的会计分录
  • 开出已验旧的发票怎么办
  • 个税系统如何升级到最新版本
  • 开超市加盟费多少
  • 卷烟消费税纳税环节有几个
  • 虚报亏损的税务处理办法
  • 合伙企业个人所得税怎么申报
  • 不得抵扣的进项税额的情形有
  • 经营二手车怎么交税
  • 投资性房地产计量模式的转换
  • 已确认并转销的应收账款会计分录
  • 废气处理工程会计分录
  • 城建税和教育费附加计入什么科目
  • 商务旅行人身意外伤害险在税前扣除范围内吗?
  • 理财收益高的产品
  • 公司未分配利润太大,怎么处理好
  • 工会筹备金需要在年终汇算调增吗
  • 入职不满一年有年假吗
  • 个体工商户比如
  • 房屋大修理费用指哪些
  • 在线上网测试
  • 离职违约金赔偿标准
  • win10应用显示模糊发虚
  • 电脑系统如何安装字体
  • 暂存款借方余额
  • explorer进程作用
  • uni-app 怎么实现页面不跳转依旧可以传数据
  • 债券到期收回本金和利息的会计分录
  • php rsa
  • 增值税即征即退操作流程
  • 普莱斯德
  • 收到社保稳岗补贴转入营业外收入要交企业所得税吧
  • stacking 集成
  • 发票没有的位数怎么写
  • Ubuntu18.04配置允许远程访问
  • python 批量
  • php或者判断
  • 购买员工团体意外险肺炎能报销吗
  • 其他综合收益转入留存收益还是投资收益
  • 坏账准备是什么性质的科目
  • 其他科技推广服务业可以加计扣除吗
  • 销售成本是付现成本吗
  • 增值税一般纳税人登记管理办法
  • 捐赠支出汇算清缴需要调增吗
  • 技术安装工人包食宿
  • 工程的直接成本包括哪些内容
  • 不动产出租要交什么税
  • 主营业务成本里的工资
  • 增资扩股步骤
  • 常见的递延所得税
  • 小规模纳税人免税政策
  • 融资租赁和经营租赁的会计处理
  • 接受政府补助的应纳税所得
  • 盘盈的固定资产怎么处理
  • 民办非企业单位有哪些
  • 先出报表还是先报表
  • MySQL 5.6.14 win32安装方法(zip版)
  • unix系统复制命令
  • 如何在苹果电脑上下载软件
  • linux文本文件格式
  • linux中grep命令用法
  • windows 7安装步骤
  • 3dmconfig.ini有什么用
  • 阿里云云服务器ecs位于云端
  • 结合mint-ui移动端下拉加载实践方法总结
  • js实现计数
  • 微信公众号开发多少钱
  • js每天的定时任务
  • unity ti
  • Python内置的HTTP协议服务器SimpleHTTPServer使用指南
  • jquery中的基本选择器有哪些
  • jquery调用iframe中的方法
  • sql怎么增删改
  • 新疆维吾尔自治区民族团结进步工作条例
  • 江苏税务个税查询
  • 会计基础工作规范2024
  • 三证合一怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设