位置: 编程技术 - 正文

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

  • 车辆购置税是什么税种
  • 建筑业资源税如何缴纳
  • 出租车手撕票可以换成增值税发票吗
  • 农产品普通发票抵扣政策
  • 合伙人没有账目就说赔了合法吗
  • 挂牌出售无形资产
  • 为职工支付的补充养老保险计入哪
  • 非营利性科研机构接受企业基础研究收入免征企业所得税
  • 以实物抵债账务协议
  • 贴现费用计算公式
  • 增值税专用发票和普通发票的区别
  • 企业咨询服务费合同
  • 小规模纳税人当月超过500万的部分怎么申报
  • 蔬菜批发公司销售蔬菜是否免税
  • 旅游业差额的会计分录
  • 已申报税额什么时候缴纳
  • 企业贷款利息是否可以提前还款
  • 苹果mac os x 怎样打开DVD播放程序
  • 升级华为鸿蒙系统怎么样
  • 去掉右键菜单中的快捷键
  • 收到其他公司退款
  • 国家减免税收
  • 如何设置系统自带的输入法
  • 法人变更涉及到什么
  • windows7如何格式化恢复出厂设置
  • 误删的文件怎么撤回
  • 银承到期扣款会计分录
  • 电脑麦克风对方听不到声音怎么办
  • phpstudy的ftp
  • 自建房买卖需要缴哪些费用
  • 损益类科目有哪些借贷方向
  • php调用方法
  • web前端修炼之道
  • k8s kubelet
  • 蓝桥杯大赛2021
  • 个税手续费增值税
  • 购进原材料用于生产免税产品
  • 发票内容类型怎么填
  • 开通对公账号怎么办理
  • 图文详解塘鲺、鲶鱼的区别介绍
  • mongodb开启远程连接
  • 发票清单用什么纸打印出来
  • 会计科目累计摊销
  • sqlserver阻止保存要求重新
  • sql server2008中删除表中记录的命令
  • 一般纳税人销售旧货可以开专票吗
  • 发票已开款未到的会计分录?
  • 固定资产置换存货
  • 单位买的职工社保自己可以去社保局领卡吗
  • 收到银行存款利息
  • 给客户优惠货款怎么写
  • 配电箱安装步骤及要求
  • 零申报是不是什么都不用填
  • 代收物业费有什么风险
  • 中标违约保证金怎么退
  • 存放在仓库中的原材料
  • 发票对方没有上传,无法勾选发票要怎么办
  • 采用现销方式销售商品的会计分录
  • 没有销货清单的发票可以报销吗
  • 电梯在固定资产里属于什么设备类别
  • 什么是增资扩股协议
  • sql server查询数据库大小
  • vc6_cn_full.exe
  • windows如何创建工作组
  • ubuntu系统怎么用
  • win10系统电脑怎么关机
  • perl数组求和
  • Extjs的FileUploadField文件上传出现了两个上传按钮
  • unity3d Sprite Packer如何用
  • bat脚本删除注册表
  • css固定在底部
  • js实现功能
  • 自定义view ondraw
  • javascript设置字体
  • js跨域解决方案
  • bootstrap需要学多久
  • python常用的内置逻辑判断函数
  • 未开票收入如何申报增值税
  • 房租计入待摊费用
  • 计税核定价是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设