位置: 编程技术 - 正文

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

  • 个人企业征收什么税
  • 所得税汇算申报完之后可以修改吗
  • 增值税无票收入可以抵扣
  • 个人所得税离职补偿金优惠政策
  • 体检怎么写公司抬头
  • 本月计提所得税费用
  • 拖欠供应商货款
  • 工程款开票后增值税怎么做分录?
  • 印刷品生产需要生产许可证吗?
  • 购买沙子违法吗
  • 商户办会员卡 商场承担责任
  • 营改增后企业出售房产涉税
  • 一次性离职补偿个税
  • 合同开票金额一定等于合同额吗
  • 营业额包括增值税吗
  • 个人取得利息需要缴纳增值税吗
  • 资产负债表里应交税费里都包含什么
  • 2021年保险营销员
  • 联营商场如何交增值税?
  • 哪些工资薪酬可以进行税前扣除?
  • 商贸公司进项税额大
  • win10专业版如何激活
  • 高新技术企业的税收优惠政策
  • 鸿蒙2.0正式版升级
  • 美团佣金收费标准结构图
  • Win11 Build 22454.1000 开发者预览版发布(附更新修改已知问题+安装)
  • 鸿蒙3.0内测申请成功显示名额已满
  • 误删的文件怎么撤回
  • 未知格式或损坏文件怎么办
  • 增值税专票开错了可以作废吗
  • 前端框架view
  • 保理业务的会计记账
  • 悬崖边上的门
  • jetson nano nvidia-smi
  • php批量上传
  • h5的开发
  • ps怎么弄树
  • 圣诞节英文祝福语50字
  • 复式记账法会计名词解释
  • 收到返利冲成本还是记收入
  • markdown小小白常用语法
  • 织梦如何开启会员功能
  • 代扣代缴个人社保账务处理
  • 独立核算的分公司可以汇总纳税吗
  • 服务费发票需要交印花税吗
  • 个人所得税的征收
  • 推迟确认收入的分析
  • 权益法转其他权益工具
  • 无形资产减值迹象有哪些
  • 单位定期存款如遇利率调整,不论调高调低
  • 商品销售方式
  • 股东股权转让会计分录
  • win1 开机启动
  • win10不是自己的账户
  • red hat linux怎么用
  • win8.1网络不可用怎么办
  • imac触发角
  • mac系统怎么删除用户
  • win7如何打开远程桌面连接
  • remupd.exe - remupd是什么进程 有什么用
  • linux挂载文件步骤
  • 如何判断肾虚阴虚阳虚
  • win8的桌面文件在哪里
  • win10非管理员账户开启管理员账户
  • 用linux配置ftp服务器的过程
  • 游戏新手引导架构
  • 创建一个css文件
  • python的类变量和成员变量
  • angularjs1.5
  • 安卓画图板
  • Unity NGUI添加事件监听(转摘)
  • c#中延时
  • JavaScript中OnLoad几种使用方法
  • python调用python脚本
  • python如何切行
  • 杭州没有户口可以上幼儿园吗
  • 国税局地税局合并的必要性有哪些内容
  • 商品代码是啥
  • 北京市印花税减免政策
  • 税法普法宣传
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设