安卓学习笔记——Android中的广播机制

1、Android广播机制:

Android系统中的广播跟传统现实生活中的电台广播有些相似之处。之所以叫做广播,就是因为它只负责“说”而不管“听不听”,也就是不管接收方如何处理。另外,广播可以被不只一个应用程序所接收,当然也可能不被任何应用程序所接收。
在这里插入图片描述

Android系统中内置了很多系统级别的广播,如:

电池的状态(如:电量不足)
短信的接收和发送
电话的接听和拨打
系统闹钟
系统垃圾文件占用内存过多
等等,都会产生一条广播。

2、BroadcastReceiver组件:用于监听这些广播事件

BroadcastReceiver是Android系统的四大组件之一,它本质上就是一个全局的监听器,用于监听接收系统全局的广播消息。
Android中的广播机制设计的非常出色,很多操作原本需要开发者编码实现,现在只需等待广播告知自己就可以了,大大减少了开发的工作量和开发周期。

BroadcastReceiver运行机制:

BroadcastReceiver的运行机理比较简单,当系统或其他应用程序发送广播时,所有已经注册的BroadcastReceiver的应用程序就会检查注册时的IntentFilter里的Action是否与发送广播时的Intent的Action相匹配,若匹配则会调用BroadcastReceiver的onReceive()方法进行处理,所以主要工作是对BroadcastReceiver里的onReceive()方法的实现

3、BroadcastReceiver的创建及使用

一、本地广播:

①、 创建一个类继承BroadcastReceiver,实现onReceive()方法
②、注册BroadcastReceiver
③、应用中构建Intent对象,设置其Action属性
④ 、利用sendBroadcast(Intent)方法发送广播

系统产生事件,发送广播,检查AndroidManifest.xml里注册每一个BroadcastReceiver的intent-filter里的action是否和第4步里的action匹配,如果匹配,生成相应的BroadcastReceiver对象,且调用其onReceive()方法,如果不匹配,则不生成Receiver对象。

二、系统广播:

①、创建一个类继承BroadcastReceiver,实现onReceive()方法
②、注册BroadcastReceiver(静态注册、动态注册)
③、构建IntentFilter标签,设置其Action属性
④、系统产生事件,发送广播,检查每一个BroadcastReceiver的intent-filter里的action是否和第3步里的action匹配,如果匹配,生成相应的BroadcastReceiver对象,且调用其onReceive()方法,如果不匹配,则不生成Receiver对象。

4、两种注册方式:

动态注册:在代码里注册

静态注册:在AndroidManifest.xml中注册;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值