位置: 编程技术 - 正文

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

  • 无票收入后面附单据吗
  • 浅谈报关单填制的常见错误
  • 销售无形资产增值税纳税义务发生时间
  • 利润表的期末余额
  • 增值税专用发票抵扣期限
  • 已经缴纳的税款怎么做账
  • 单位购买预付卡
  • 汇算清缴补缴纳企业所得税会计分录
  • 科技公司的成本如何核算
  • 收到承兑如何贴现
  • 应收账款周转率多少合适
  • 期初未交增值税借方余额
  • 收购个人独资企业的税收
  • 职工福利费在期间费用表中怎么填
  • 增值税发票价格低于进项
  • 不是本公司员工
  • 有进项没有销项可以零申报吗
  • 税收的凭证有哪几种
  • 进项税额异常补税怎么算
  • 收到的运输发票要交印花税吗?
  • 收入是零招待费怎么汇算
  • 2019一般纳税人和小规模纳税人的区别
  • 汇兑结算方式可以分为
  • 与收益相关的政府补助的确认
  • 上市公司现金分红怎么派发
  • 法院收到诉讼费多久可以收到传票
  • 增值税认证平台确认以后还可以再认证吗
  • win8系统如何设置u盘启动
  • windows无法访问共享文件夹
  • 代扣个税手续费返还增值税税率
  • 路由器网速慢怎么设置
  • 下载的压缩文件打不开
  • u盘显示0字节修改不了
  • 非正常损失运输费进项税额如何转出
  • 政府搬迁补偿款不够建房怎么办
  • 外企借款投资利息高吗
  • 年终结算啥意思
  • php 邮件发送
  • php使用for循环计算1到100的奇数和
  • echarts地图参数设置
  • 支付职工教育经费
  • 分类问题的评价方法有
  • 文章列表是什么
  • 增值税发票打印出格了能用吗
  • 中华人民共和国禁毒法第十三条规定
  • 出租的厂房折旧记哪里
  • ffmpeg png to mp4
  • 房地产项目转让流程
  • 含税与不含税的计算公式
  • 固定资产清理账户借方
  • 股权转让会计分录借银行存款
  • 存货跌价准备转回和转销的区别
  • 非贸付汇计税基础
  • 购入固定资产的增值税计入成本吗
  • 接受捐赠可以确认为收入吗
  • 划转税务的非税收入包括
  • 咨询费开发票应该选哪一项?
  • 一个企业至少应纳多少税
  • 简述Mysql Explain 命令
  • windows8计算机在哪儿
  • winxp关机立马自动重启
  • 蓝屏service
  • centos chrony
  • ubuntu20关机卡在logo
  • window10英文版安装步骤
  • linux开启samba服务
  • 笔记本win8为什么不能连无线
  • win10交接wifi
  • javascript中的数据类型分为两大类
  • nodejs和mysql
  • 贴吧热门评论
  • shell脚本语句
  • Node.js中的事件循环是什么
  • jni静态注册和动态注册
  • shell脚本.sh
  • 遮罩有什么作用
  • javascript编程语言
  • 用python语言编写
  • 月度申报如何改为季度申报
  • 西安车辆购置税在线交费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设