位置: 编程技术 - 正文

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

  • 增值税专用发票抵扣期限
  • 消防管理费用收取标准
  • 购买福利用品
  • 所得税申报表收入
  • 长期待摊销费用属于什么类科目
  • 向银行申请签发银行汇票的会计分录
  • 销售金银首饰消费税怎么算
  • 个体工商户的个人所得税如何申报
  • 多计提公积金怎么办理
  • 事业单位缴纳税款比例
  • 委托外单位加工发出的材料分录
  • 单位职工住周转房是否缴纳房租
  • 支付收购股权款如何做账
  • 银行存款支付比例怎么算
  • 设备免费提供给客户使用
  • 公司年会增值税专用发票可以抵扣吗?
  • 收到机动车发票怎么认证
  • 凭证制单和审核可以是一个人吗
  • 未办土地有偿使用手续多少钱
  • 委托采购是什么意思
  • 不交社保是否可以马上辞职
  • 建造合同收入的内容包括
  • google搜索打不开怎么办
  • php输出一维数组
  • 本期用于购建不动产的扣税凭证怎么填
  • 编译安装php7
  • 新准则管理费用税金
  • kb4503269补丁安装失败解决办法
  • 固定资产未提完折旧停止经营怎么处理
  • 资产接收范围的确定
  • 外商投资企业采用交易发生日的即期汇率
  • 非城市公交企业管理办法
  • 资产负债所有者权益损益类会计科目
  • html中的标签有哪些
  • 增值税代扣代缴税率是多少
  • nodejs的安装与配置mac
  • linuxless命令查看文件
  • 命令启动服务管理
  • 法人如何提取公积金余额
  • 补开上年发票的税务处理要怎么做?
  • 非货币性资产交换和债务重组的区别
  • 小微企业城建税及附加减免优惠
  • 合同金额含税么
  • mysql中数据类型主要分为哪四种
  • 临时工资怎么核算
  • 吊车租赁有限公司
  • 代收资金清算过程
  • 开办费用怎么处理
  • 装修公司进的材料怎么做分录
  • 支付的中介费进什么科目
  • 银行开户的费用计入什么科目
  • 微众银行的企业贷款好批吗
  • 银行贷款利息支出税前扣除标准
  • 工程发票入账
  • 净利润为负数会计分录
  • 发票报销流程和条件
  • 金税盘如何查看是否清卡
  • win7系统怎样
  • xp系统如何打印文件
  • 设置和使用电子技术监控设备收集信息
  • mac如何整理桌面图标
  • centos防火墙操作
  • wincomm.exe - wincomm是什么进程
  • win8摄像头设置
  • ubuntu中装虚拟机
  • win7win8.1win10哪个好
  • seti@home.exe - seti@home是什么进程 有什么用
  • win8开始界面如何设置成win7
  • layer关闭当前窗口
  • 用bat打开cmd执行命令
  • python读配置文件配置信息
  • Ubuntu14.04 Android 源码编译
  • jquery的方法
  • js 比较
  • jq获取table元素
  • 如何查询发票代码和发票号码
  • 河北电子税务局新版登录
  • 安徽税务发票查询入口
  • 朝阳区地方税务局电话
  • 尤溪特产春节礼品
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设