位置: 编程技术 - 正文

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图片压缩库)

  • 房地产开发公司排名
  • 固定资产盘点折旧怎么算
  • 增值税专票税种
  • 工商年检股东变更流程
  • 增值税发票在邮寄途中丢了怎么办
  • 企业年金个人所得税最新规定
  • 金税三期社保费管理客户端v1.0.088(生产环境)
  • 自己做的房子可以办房产证吗
  • 海关缴款书税号
  • 旧机动车交易需要哪些法定证件
  • 企业只有收入没有支出是否违规
  • 土地增值税计算题及答案解析
  • 受让无形资产是什么意思
  • 房地产工程质量检测费计入什么科目
  • 员工赔偿款需要交个税么
  • 厂房租赁记账凭证
  • 如何修复windows11无法的注册表值
  • 如何免费获取网页文字
  • 出差补助没有发票可以直接入账吗
  • 生产车间的各种费用
  • 电器维修公司买什么保险
  • 去年的成本发票怎么做账
  • cachelib
  • 前端几种下载文件
  • php单例模式应用场景
  • 施工方可以向建设单位借款么
  • 收到债劵利息会减少吗
  • 代收资金清算过期怎么办
  • 左右等宽上下等高的字有哪些
  • edge 状态栏
  • 归还本金和利息的分录
  • 企业持有待售的固定资产,应当对其预计
  • react 组件化
  • 支付中间人佣金违法吗
  • 临时工享受的福利有哪些
  • 企业预收账款缴纳个税吗
  • sql server创建数据表的完整语法
  • 工程行业预交税款怎么算
  • myeclipse配置数据库连接
  • 土地使用权被政府收回要交个税吗
  • 生育津贴和产假工资就高原则
  • 应收票据备查簿的作用
  • 去年的成本发票做错了需要补税吗
  • 财政补助收入怎样申报企业所得税
  • 结转完工入库产品成本的会计分录
  • 企业注销时实收资本清算时要作资产处置收益交所得税吗
  • 困难补助属于兜底政策吗
  • 加工废料如何处理
  • 电子承兑汇票的风险有哪些
  • 申报个税劳务报酬按20%扣
  • 天猫佣金是什么意思
  • 会计忘记申报税款会有什么影响
  • 销售的差额如何分录
  • 劳务派遣服务怎么做会计分录
  • 哪些固定资产不计提折旧
  • mysql random函数
  • 多表关联执行顺序
  • centos7+
  • vmware8.0.4
  • win7电脑连不上wifi怎么解决
  • sniffer.exe - sniffer是什么进程
  • csinsm32.exe是安全的进程吗 csinsm32进程有哪些用处
  • ie10怎么设置ie8兼容模式
  • centos7 lvs
  • linux命令行在哪
  • require注解
  • Lesson01_05 HTML中的超链接
  • js深拷贝的三种实现方式
  • Node.js中的包管理工具是什么
  • linux同名文件
  • unity移动游戏开发
  • listview item
  • javascript定律
  • jquery 插件编写
  • 生产者消费者的作用
  • 国企巡查都巡查哪些内容
  • 中华人民共和国刑法
  • 2021年京东养鸡如何合作
  • 如何撤销工商注册登记
  • 大乐透中奖查询走势图
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设