位置: 编程技术 - 正文

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

  • 间接税和直接税哪个容易转嫁
  • 股份公司解散是什么?
  • 资本公积转增资本的要求
  • 已经勾选确认的发票可以取消认证吗
  • 单位表彰性奖金是什么
  • 集团内部是什么意思
  • 服务行业营业成本包括财务费用和管理费用吗
  • 应计未计成本税前扣除年限
  • 管理费用的明细科目怎么写
  • 房租发票一下全部开出
  • 财产租赁所得个人所得税计算方法2020
  • 赠送的固定资产需要计提折旧吗?
  • 拓展培训费如何开票
  • 异地工程预缴个税
  • 抄税忘记了怎么办
  • 营改增后出售以前年度的固定资产怎么申报?
  • 小区物业宿舍
  • 承兑汇票贴单怎么贴
  • win10双屏怎么切换屏幕
  • 商品进价销售要上税吗
  • 背书人账户名称填什么
  • 小规模纳税人计税方法
  • 银行发放贷款银行会计怎么做账务处理
  • 赊销商品应收款
  • 无票业务如何处理
  • 预付账款主要是
  • php小程序开发完整教程
  • ati2mdxx.exe是什么进程 ati2mdxx进程信息查询
  • 发票作废之后税钱怎么退回了
  • 教育发展基金计提比例
  • 为什么要把收入当成舞弊假定
  • 建筑企业取得发票难
  • 记账凭证的总账科目是什么
  • Laravel5.5新特性之友好报错以及展示详解
  • php怎么设置管理员权限
  • 宝塔部署django
  • php数组排列组合
  • 空调年折旧率
  • php生成guid
  • php url函数
  • 所得税汇算清缴调整项目
  • 电缆租赁发票开具属于什么项目
  • 企业办理税务注销需要什么资料
  • 边际贡献分析法案例
  • 增值税最高开票限额
  • 车船税应计入税金及附加吗
  • 清卡和抄报税是什么意思
  • 招待客户的住宿费发票可以报销吗
  • 固定资产计提折旧表
  • 结转以后年度抵免的境外所得税怎么进行会计处理
  • 多栏式日记账核算组织程序优缺点
  • 合作研究开发项目的合同
  • 应记入营业外支出的科目核算是
  • 支付技术转让费所得税处理
  • 招待费发票怎么做分录
  • 应交消费税等于
  • 应付职工薪酬的会计科目
  • 备查账包括哪些
  • 私营企业归谁管
  • 新开办企业如何建账
  • 企业收到的应收票据应按什么作为入账金额
  • xp系统怎么提升性能
  • centos如何添加用户
  • 如何查看电脑型号及配置
  • ubuntu 18.04网络连接
  • 在centos7中,一般用( )命令来查看网络接口的状态
  • 笔记本电脑显示英特尔服务未在运行
  • linux个人系统
  • Unity3D游戏开发标准教程
  • Android OpenGL ES(二)----平滑着色
  • css颜色值正确的表达形式
  • js读取cookies
  • 怎么快速启动win10
  • html读书笔记
  • Android之BroadcastReceiver
  • python中的类怎样理解
  • 担保费属于什么服务
  • 主管局长和分管局长谈心谈话
  • 社保在线审核
  • 广西税务移动办税平台app
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设