Broadcast Receiver
Android广播机制包含三个基本要素:广播(Broadcast) - 用于发送广播;广播接收器(BroadcastReceiver) - 用于接收广播;意图内容(Intent)-用于保存广播相关信息的媒介。Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的Broadcast进行过滤接受并响应的一类组件。
<p>
1、Android的广播机制介绍
在 Android 里面有各种各样的广播,比如电池的使用状态,电话的接收和短信的接收都会产生一个广播,应用程序开发者也可以监听这些广播并做出程序逻辑的处理。
2、BroadcastReceiver的作用
BroadcastReceiver(广播接收器)是为了实现系统广播而提供的一种组件,并且广播事件处理机制是系统级别的。
3、BroadcastReceiver的编写方法
继承BroadcastReceiver的类,重写了onReceiver方法,并在onReceiver方法中对广播进行处理。
4、BroadcastReveiver的生命周期
一个BroadcastReceiver 对象只有在被调用onReceive(Context, Intent)时才有效,当从该函数返回后,该对象就无效的了,结束生命周期。
二、注册BroadcastReceiver的方法
BroadcastReceiver用于监听被广播的事件(Intent)
为了达到这个目的,BroadcastReceiver必须进行注册,注册的方法有以下两种:
1、在应用程序的代码当中进行注册
注册BroadcastReceiver:
registerReceiver(receiver,filter);
取消注册BroadcastReceiver:
unregisterReceiver(receiver);
如果一个BroadcastReceiver用于更新UI,那么通常会使用这种方法进行注册,
在Activty启动的时候进行注册BroadcastReceiver,在Activity不可见以后取消注册(onStop())。
2、在AndroidMainfest.xml当中进行注册
使用这样的方式注册的BroadcastReceiver,即使应用程序没有启动,或者被Kill掉以后,也始终会保持活动状态;
三、Android内置的Broadcast Actions
在Android平台当中,内置了很多Action,用于帮助开发者监听手机上所发生的各种事件,以下是比较常见的Action。
可以在帮助文档中,Intent类,找到它的常量(以Acition开头(关键是Broadcast Action))
在BroadCast 中尽量不要处理太多逻辑问题,建议复杂的逻辑交给Activity 或者 Service 去处理