位置: 编程技术 - 正文

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

  • 增值税发票阅读器干什么用的
  • 进口缴纳关税
  • 年末是否结转本年利润
  • 解除劳动一次性补偿金怎么记账
  • 上一年度亏损,本年怎么计算企业所得税
  • 房地产开发产品科目
  • 手工现金日记账怎么转下一页
  • 财务费用和应付利息怎么算
  • 进项都抵扣完了怎么办
  • 出差补贴计入工资总额吗
  • 产品成本核算时做好哪些基础工作
  • 商业零售企业实行增值税后购进商品业务的账务处理
  • 财务费用利息如何结转
  • 开票系统维护费计入什么科目
  • 从原材料到库存商品的生产核算过程
  • 景区中设立的经济组织是
  • 固定资产残值率一般是多少
  • 预付股权转让款如何处理
  • 收据和发票有什么区别?买家电
  • linux虚拟机在哪里输入命令
  • hptasks.exe是病毒吗 是什么进程 hptasks进程说明
  • php字符串函数有哪些
  • 自产货物用于生产
  • linux系统如何更改主机名
  • 无形资产的所得税处理是按100%还是75%
  • 出售报废的边角料收入会计分录
  • 划拨用地无使用权怎么办
  • vue中使用gojs
  • 高端显卡排名
  • 利息收入可以冲减研发费用
  • 受托加工要交消费税吗
  • 免征企业所得税的有
  • 购买方收到的违约金计入
  • php字符串转换
  • php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
  • php封装数据库连接
  • 图像分割csdn
  • php错误和异常
  • 稿费演出费等劳务收入算工资吗
  • 开票一定要确认发票吗
  • 年底全年的研发费用占比
  • 报关单填制相关规范相关文件
  • 在正确使用和正常维护的条件下
  • 下列项目的进项税额可以从销项税额中抵扣的是()
  • 公司出售子公司股权
  • 房产税的纳税义务人是征税范围内房屋产权所有人
  • 个体户营业额超了怎么办
  • 建筑业异地预交税款怎么入库
  • 同在一个单位
  • 微信收款如何做账报税
  • 融资租赁首付款的性质
  • 房地产企业开发的准备出售的房屋属于投资性房地产吗
  • 2021年财务新规定
  • 在建工程前期费用明细
  • 原材料的合理损耗计入入账成本吗
  • 逾期未缴税款法律依据
  • 专票和普票的作用
  • 旅游公司怎么交增值税
  • 计提人工成本会计分录
  • 投资性房地产的范围
  • mysql5.7.19 winx64解压缩版安装配置教程
  • mysql5.7分区表
  • mac的qq缓存在哪里怎么打开
  • 安装fedora33
  • window7优盘不显示
  • -mtime +3详解 linux
  • win7系统本身会占用多少空间
  • win7 64位系统怎么查看串口号?
  • android中的布局分为6种,分别是
  • android开源软件
  • vue拦截器的作用及使用
  • 对应用进行单元测试的是
  • javascript的dom
  • unity3d基于物理系统的2D平台跳跃游戏
  • 安卓模拟器测试
  • 工程咨询服务税需要每月缴纳吗
  • 北京通州国税局进面分数2022
  • 加强党的作风建设是目前全党的中心
  • 博兴公安局局长
  • 代销手续费增值税会计处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设