位置: 编程技术 - 正文

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

  • 原材料的采购成本包括运费吗
  • 开矿泉水发票怎么开?
  • 预收账款怎么做财务分析报告
  • 兼职工资如何发放给个人
  • 股东参与经营可以分红吗
  • 服装纳税税率
  • 销项税额特殊销售额的处理方式
  • 房地产计税毛利率什么意思
  • 2014年税收征管体制改革
  • 当期应税销售收入是含税还是不含税
  • 转让非独占许可使用权调整
  • 存货的核算心得体会
  • 事业单位固定资产标准
  • 可转换债券存在的问题
  • 购货方收到代垫运费的发票怎么做会计分录?
  • 维修材料费主要包括
  • 人身意外保险费可以扣除企业所得税吗
  • 电子银行汇票 票据承兑
  • 计提小规模增值税的账务处理
  • win10禁止使用网络
  • 如何关闭windowsdefender防病毒
  • 预付款后开发票时的摘要和分录怎么做?
  • 私募证券投资如何交易
  • 成本转入费用
  • php防止网站被攻击怎么办
  • 关于已开发票收到部分款项风险温馨提示
  • 公司多缴税款了怎么办?可以退吗?
  • vue实战技巧
  • vue3开发app
  • php 性能优化
  • thinkphp获取数据库数据
  • php-fpm运行模式
  • get命令获取文件夹
  • 物流辅助服务要办许可证吗
  • 应交税金会计编码
  • 委托境外机构销售开发产品
  • Vite + Vue2 + Vuetify2 + <script setup> + TypeScript 搭配开发项目
  • 转让股权个税的计税基础
  • 以前年度的成本忘了结转然后怎么办
  • 高速费发票可以抵税吗
  • 单一窗口退税数据发送
  • db2比较大小
  • 社会保险差额缴纳
  • 食堂维修费用计入什么科目
  • 增值税是指怎样计算的
  • 暂估入库的会计分录怎么写
  • 企业选择的短期调整
  • 结转的制造费用
  • 经营范围中没有这个项目开票后果
  • 净资产收益率多少才是好股
  • 盈余公积的例子
  • 承兑汇票的贴现利息
  • 现金不够老板垫钱怎么办
  • 非流动资产包括哪些会计科目
  • 库存结转成本如何计算
  • 体检费用开发票给公司怎么开
  • 预收账款账务处理流程图
  • 年度采购总额在哪个报表
  • 食堂没发票如何记账
  • mysql jdbc
  • 盘符在哪
  • mac上怎么取消itunes自动续费
  • Linux进入图形界面卡顿
  • linux的文件结构
  • 三分钟教你学会骑女式摩托车,连菜鸟都能学会
  • cocos2d android 游戏开发学习——CCAction(二)
  • android怎么ping
  • jquery插件使用教程
  • androidtime
  • nginx服务器日志
  • Node.js中的construct
  • angularjs2
  • 粒子特效优化
  • unitymol
  • 安卓自定义app
  • python html转markdown
  • 河北地税代收工作怎么样
  • 小型贸易公司怎么赚钱
  • 郑州高新税务局
  • 上海买房退税政策2023最新
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设