【Android 初学】13、Broadcast Receiver
Broadcast Receiver
Android广播机制包括三个基本要素:广播(Broadcast) - 用于发送广播。广播接收器(BroadcastReceiver) - 用于接收广播;意图内容(Intent)-用于保存广播相关信息的媒介。Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的Broadcast进行过滤接受并响应的一类组件。
<p>
1、Android的广播机制介绍
在 Android 里面有各种各样的广播,比方电池的使用状态,电话的接收和短信的接收都会产生一个广播,应用程序开发人员也能够监听这些广播并做出程序逻辑的处理。
2、BroadcastReceiver的作用
BroadcastReceiver(广播接收器)是为了实现系统广播而提供的一种组件。而且广播事件处理机制是系统级别的。
BroadcastReceiver(广播接收器)是为了实现系统广播而提供的一种组件。而且广播事件处理机制是系统级别的。
3、BroadcastReceiver的编写方法
继承BroadcastReceiver的类,重写了onReceiver方法。并在onReceiver方法中对广播进行处理。
继承BroadcastReceiver的类,重写了onReceiver方法。并在onReceiver方法中对广播进行处理。
4、BroadcastReveiver的生命周期
一个BroadcastReceiver 对象仅仅有在被调用onReceive(Context, Intent)时才有效,当从该函数返回后。该对象就无效的了。结束生命周期。
二、注冊BroadcastReceiver的方法
BroadcastReceiver用于监听被广播的事件(Intent)
为了达到这个目的,BroadcastReceiver必须进行注冊,注冊的方法有下面两种:
1、在应用程序的代码其中进行注冊
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 去处理
posted on 2017-07-23 20:40 yjbjingcha 阅读(198) 评论(0) 编辑 收藏 举报