位置: 编程技术 - 正文

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

  • 个体户开增值税怎么开
  • 产权转移书据印花税计税依据
  • 个人给单位做事怎么开发票
  • 收入 合同
  • 事业单位下属企业员工转事业编
  • 存在商业折扣的情况下,应收账款按什么金额入账?
  • 销售自己使用过的固定资产如何开票
  • 公司电子承兑汇票
  • 员工报销增值税
  • 小规模纳税人所得税税率
  • 农产品增值税核定扣除计算
  • 接收境外汇款是什么意思
  • 收到的劳务费发票进什么科目
  • 税法种类及税率
  • 税控设备抵减如何填写报表
  • 发票分割单可以抵扣吗
  • 物流公司运费的会计分录
  • 单位收到社保补贴会计怎样处理
  • 跨年的暂估成本怎么冲回
  • windows聚焦无法显示 为灰色
  • 免税收入税额的含义
  • 民宿的房屋租赁合同模板
  • 当月制造费用转生产成本
  • 个人所得税和企业所得税都要交吗
  • php递归算法经典实例
  • 查补以前年度增值税怎么申报
  • mac休眠模式
  • PHP:php_strip_whitespace()的用法_misc函数
  • 一般合同怎么写才有效
  • 贷款损失准备的作用
  • 开发商延期交房违法吗
  • 流动资产占总资产比重多少较为合适
  • 发票复核和收款人未填写
  • 布兹洛夫
  • 销售货物产生的运费怎么开票
  • 微信小程序开发公司
  • tokenall
  • php的输出语句主要有哪些
  • 公积金会计分录怎么处理2019
  • druid数据库连接池
  • 桥接模式例子
  • mysqlbinlog命令详解
  • 织梦如何使用
  • 工资的计提基数
  • 物品登记制度
  • 收到报销单如何处理
  • 累计折旧会影响净残值吗
  • 建筑公司是可以开在住宅小区吗
  • 先付款后签协议是否违法
  • 购买固定资产用什么凭证
  • 公司购买的五金怎么入账
  • 一般纳税人存货成本包括增值税吗为什么
  • 非流动资产基金和专用基金
  • 兼职费计入什么科目
  • 计提有哪些科目
  • 收到发票没付款,能打赢官司吗
  • 记账凭证分为哪几类,应具备哪些主要内容
  • mysql实现分页查询
  • win7桌面右键菜单设置
  • xp操作系统还能用吗
  • winxp如何将两个分区合并成一个分区
  • mac文本软件
  • win8搜索不到文件
  • win10大更新2020
  • 防止非法使用计算机,可口令
  • linux中docker
  • node.js使用教程
  • android自定义属性详解
  • javascript ()
  • node的express
  • python socket传输文字到网页
  • jstree异步加载
  • jquery常用选择器种类
  • android 桌面开发
  • 北京顶点b128怎么样
  • 政府收储土地需要缴纳什么税
  • 山东中信银行电话
  • 北京市注册税务师
  • 城市维护建设税属于什么科目
  • 内蒙古总工会工会经费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设