位置: 编程技术 - 正文

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

  • 公司附加税怎么计算
  • 城市维护建设税优惠政策
  • 稳岗补贴属于不征税收入吗
  • 结转本月销售材料实际成本分录
  • 增值税冲红附加税费可以退吗
  • 发票的规格和型号有哪些
  • 三方合同怎么盖章
  • 工资出现负数怎么申报个税
  • 利润表的所得税费用怎么填
  • 贴现的费用怎么入账
  • 公司报销房租还能扣税吗
  • 发票必须用完才可以购买吗
  • 现金日记账根据哪些凭证登记
  • 个税专项附加扣除
  • 预缴税款缴多了怎么办
  • 一般纳税人制作除尘器的制作费开票税率是多少
  • 进项发票认证多了留抵
  • 零余额账户银行余额调节表
  • 道路施工企业的财务核算包括
  • 当月发票已认证还能作废吗
  • 年末计提存货跌价准备
  • 个人去税务局能开什么类型的发票
  • 税务系统1+1+5
  • 委外技术服务费应归集哪个研发项目
  • 企业向学校捐赠 流程
  • 应付账款核销法律规定
  • 国外企业提供国际运输服务税率
  • 抵税的税额怎么计算
  • 公司成本和费用过高怎么办
  • 工程服务发票税率3%
  • 资产收购的特殊性税务处理方法
  • 允许扣除的土地价款怎么计算例题
  • 公司内收取的礼金
  • 溢价发行债券利息
  • win7网络无连接
  • 戴尔笔记本电脑哪款性价比最高
  • 本期已缴税额不能大于本期应纳税额
  • 事业单位收到奖励款怎么入账
  • 营业款怎么存入公司账户
  • win7系统禁用u盘
  • js正则表达式删除特定字符
  • php获取并显示用户的用户名
  • 深入理解php中的数字
  • 去年多计提的所得税怎么调整
  • 结算备付金管理办法(2019年修订版)
  • 营业执照上的注册资金可以改吗
  • 未来的现金流折现
  • PHPCMS 是 ThinkPHP 开发的吗?
  • dede标签的使用
  • 环保税的算法
  • 支付劳务费的账务处理
  • 哪类企业是可以避税的
  • 加盟费摊销会计分录
  • 出口收汇核销单是什么意思
  • 以旧换新价格怎么确认
  • 长期待摊费用未摊销完一次性处理怎么走
  • 购买的税控盘可以全额抵扣,怎么报
  • 企业收到加盟费怎么开发票
  • 专项费用会计分录
  • 给分公司开发票由总公司付款怎么办?
  • 土地租金怎么做账
  • 税控盘没有反写会罚款吗
  • 核定征收需要带什么资料
  • mysql source 慢
  • wcesmgr.exe - wcesmgr 是什么进程
  • win7e盘不见了怎么恢复
  • Linux利用sftp命令传输文件(极少数人知道的方法)
  • bass表示什么
  • cocos2dx schedule
  • 刀塔ug是谁
  • javascript的数组可以存放任何类型
  • js中单例模式
  • Linux删除大量文件
  • javascript入门教程
  • python 遍历字符串修改
  • android四大组件的作用
  • Re: Latest Version: 3.7.9 (January 18th, 2015)
  • JavaScript实现同时调用多个函数的方法
  • sqlyog使用
  • 河北地税代收工作怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设