位置: 编程技术 - 正文

Android Broadcast

编辑:rootadmin
什么是广播

推荐整理分享Android Broadcast,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。我们拿广播电台来做个比方。我们平常使用收音机收音是这样的:许许多多不同的广播电台通过特定的频率来发送他们的内容,而我们用户只需要将频率调成和广播电台的一样就可以收听他们的内容了。Android中的广播机制就和这个差不多的道理。

电台发送的内容是语音,而在Android中我们要发送的广播内容是一个Intent。这个Intent中可以携带我们要传送的数据。

电台通过大功率的发射器发送内容,而在Android中则是通过sendBroadcast这个方法来发送(很形象的名字吧)。

用户通过调整到具体的电台频率接受电台的内容。而在Android中要接受广播中的内容则是通过注册一个BroadCastReceiver来接收的。只有发送广播的action和接收广播的action相同,接受者才能接受这个广播。广播有什么用 其实,在什么是广播的第一句就已经说明了广播有什么用了。对了,&#;统一点讲就是用来传输数据的。具体一点说就是: 1.实现了不同的程序之间的数据传输与共享,因为只要是和发送广播的action相同的接受者都能接受这个广播。典型的应用就是android自带的短信,电话等等广播,只要我们实现了他们的action的广播,那么我们就能接收他们的数据了,以便做出一些处理。比如说拦截系统短信,拦截骚扰电话等等 2.起到了一个通知的作用,比如在service中要通知主程序,更新主程序的UI等。因为service是没有界面的,所以不能直接获得主程序中的控件,这样我们就只能在主程序中实现一个广播接受者专门用来接受service发过来的数据和通知了。实现广播

现在我们就来实现一个简单的广播程序。Android提供了两种注册广播接受者的形式,分别是在程序中动态注册和在xml中指定。他们之间的区别就是作用的范围不同,程序动态注册的接收者只在程序运行过程中有效,而在xml注册的接收者不管你的程序有没有启动有会起作用。首先介绍在程序中动态注册的方式。

动态注册方式

我们在程序中设置了三个按钮,分别是“注册广播”,“取消注册”和“发送广播”。然后每个按钮设置点击事件来完成广播的演示。

最简单的项目的建立过程和按钮事件的建立我再这里就不罗嗦了,不会的可以下载下面的DEMO源码查看。直接看三个按钮的实现方式。

首先是注册广播的按钮事件代码:

Android Broadcast

首先我们实现了一个ReceiveBroadCast 类,它继承了BroadcastReceiver并实现了其中的onReceive方法,这样当这个广播被接收的时候就会执行这个方法。注意我们在注册广播的时候使用了filter.addAction方法添加了一个过滤器。如果没有这一句,就相当于广播电台没有告诉咱们收音机用户接收的频率,就不好收听这个广播了。

再来看看如何取消注册,是的程序不再接收这个类型的广播了。

怎么样?是不是超级简单的啊,就是将我们上面的那个广播类的实例传进去就行了。现在注册,取消注册都好了,就剩下如何发送了。看代码:

每一句都注释了的,就不要我再讲了吧。一看就明白了。现在,运行程序看看效果吧。先注册一下,然后每发送一次广播上面的文字就会变化一次,表明已经接收到了广播了。按取消注册后你可以发现再按发送按钮已经接收不到广播了。

配置文件方式

配置和动态注册的区别在上面已经说了,这种方式适合你的程序需要长期的监测某个广播的情形,比如监测用户的短信。注册方式比较简单,相当于上面的代码只要接收的那部分就行了。不过要注意的是通过配置文件这种方式注册广播需要在单独的一个类中继承BroadReceiver,内部类是没有用的。所以我们新建了一个broadCastReceiveByXml类并继承了BroadReceive。代码如下:

然后在AndroidManifest中的<activity></activity>节点之后我们添加一下代码:

receiver中的android:name就是我们在程序中的那个接收广播的类。下面的intent-filter和我们讲到的功能类&#;,而这个action就是上面的那个flag啦。现在我们运行程序,发现同样可以实现上面的功能。运行的结果如下:

除了使用我们自己发送广播,android也内置了许多广播。比如我们上面提到的来了消息的时候android会发送一个action名为“android.provider.Telephony.SMS_RECEIVED”的广播,这个时候如果我们想要接受这个广播只要将配置文件中的那个action设置为上面这个字符串就能接收到消息信息了。android包括了许多其他的广播action,有兴趣的同学到网上搜搜就有了。这里就不再举例了

Android 中的 Service 全面总结 1、Service的种类按运行地点分类:类别区别优点缺点应用本地服务(Local)该服务依附在主进程上,服务依附在主进程上而不是独立的进程,这样在一定

android真机调试 INSTALL_FAILED_MEDIA_UNAVAILABLE 问题解决方案 前提是手机用数据线连到电脑,安装好手机对应的驱动。1:打开cmd2:cd切换到sdk安装目录的platform-tools目录,比如我安装到了D盘根目录,则输入:cdd:an

全志AS(android 4.2/4.4)截屏 转毕业也快三年了。最近找不到方向,有点迷茫了。主要是找不到什么事情去做,可能因为自己不是一个愿意主动去学习的人。闲着也是没事,就把自

标签: Android Broadcast

本文链接地址:https://www.jiuchutong.com/biancheng/370867.html 转载请保留说明!

上一篇:HandlerThread初使用中遇到的一些小问题(handle thread)

下一篇:Android 中的 Service 全面总结(Android 中的guideline)

  • 个人所得税年终奖单独计税怎么操作
  • 分公司需要独立法人吗
  • 出口退税申报的发票无电子信息是什么意思
  • 国际运输需要办什么证
  • 分税制财政管理体制是什么?
  • 这个季度报税时间怎么算
  • 服务业费用有哪些
  • 已经认证不能抵扣怎么办
  • 发票分开开票
  • 土地使用权入账价值包括哪些
  • 税务局开运费发票需要带什么
  • 固定资产可以计入实收资本吗
  • 所得税汇算清缴表在哪里打印
  • 外币投入的资本
  • 销货清单和发票金额不一致
  • 商户办会员卡 商场承担责任
  • 一个公司只有一个财务人员,可以吗
  • 同一地级行政区怎么称呼
  • 取得增值税专用发票注明税额
  • 外购无形资产的成本包括进口关税吗
  • 公司账上没钱还假发工资违法吗
  • 购入商品入库时发现实收物多余应收数计入什么科目
  • win10系统怎么设置锁屏壁纸
  • 苹果macbookpro分辨率是多少
  • 六月雪的养殖方法和注意事项
  • 行政事业单位的营业执照叫什么
  • 固定资产折旧计算方法
  • 销售部门品种多怎么说
  • 工业企业生产成本核算表
  • 如何设置让电脑运行更快
  • 工会经费如何计提会计分录
  • 如果退货卖家拒绝会把货退回来么
  • 小规模纳税人缴税标准是什么
  • 发行可转换优先股记入权益工具吗
  • js表单验证代码
  • Waterfalls at the source of the Mundo River, Sierra de Riopar, Albacete, Spain (© Westend61/Getty Images)
  • 减税性质代码及名称农业
  • openai创始人阿尔特曼 取向
  • deformable detr代码
  • 研发费用属于什么成本
  • php采集器
  • 帝国cms升级到7.5后不能发布内容信息
  • 织梦网站停止使用了还侵权吗
  • 百度 编辑器
  • 交易性金融资产是什么意思
  • 小规模纳税人认定标准500万
  • 广告牌制作加盟厂家
  • 购买原材料没有发票能入库吗
  • 合并报表抵消分录的基本原理
  • 农业种植账务处理方法
  • 以固定资产换入库存商品
  • 增值税发票上注明的价款包含增值税吗
  • 采购的样品没有发票怎么入账
  • 外出经营预缴税款表怎么填
  • 独立核算 单独核算
  • 中介收取中介费的法律依据
  • 影响以前年度损益的科目
  • 个人向公司账户存现金
  • 会计利润和税务利润的差异是什么
  • 公司现金收入存入私人老板账户
  • 微软官方的网址是多少
  • macos sierra版本10.12.6升级
  • 帝国时代2能在win10
  • 丢失msvcr80.dll
  • Win10 Mobile Build 10586.xx将持续更新 WP8.1用户可直升最新版
  • cortana可以用于搜索本机文件吗
  • windows7里剪切小剪刀在哪里
  • cocos2dx怎么用
  • 如何使用灭火器
  • 深入理解python特性 pdf
  • python 安装setup
  • 批处理禁用计算机
  • node.js的exports、module.exports与ES6的export、export default深入详解
  • android:padding="10dp"
  • 安卓xml存储方式
  • 税务局着装规定文件
  • 江西省国家税务局李德平
  • 天津税务局发票查询
  • 所得税汇总纳税分配表
  • 本年累计实际已预缴的所得税额怎么填
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设