BroadCastReceiver用于监听被广播的事件(Itent)
为了达到这个目的,我们就必须进行BroadCastReceiver注册,注册共两种方法:
<1>在应用程序代码中进行注册
这种注册方法比较灵活,我们想什么时候注册就什么时候注册,什么时候关闭就什么时候关闭。
注册BroadCastReceiver:
registerReeiver(receiver,filter)
取消BroadCastReceiver:
unregisterReeiver(receiver)
如果一个BroadCastReciver用于更新UI,通常会使用这种方法进行注册,Activity启动时就注册BroadCastReciver,Activity不可见时就取消注册。
步骤:1 生成一个BroadCastReceiver对象
2 生成一个Intentfilter对象
3 为Intentfilter对象添加一个Action
<2>在AndroidManifest.xml当中进行注册
用这种方法注册的有如下一种特点:
用这种方法注册的应用程序的及时关闭了,BroadCastReceiver依然会接收到广播出的一个对象,也就是说无论应用程序关与开,都处于一种活动状态中,都接受到广播事件。
有的应用程序就需要这种特点。
例如,开发一种应用程序,来检测手机的耗电量。
我们不能总要求应用程序打开,我们希望应用程序及时关闭了,也能照样检测手机的耗电量。
但是,我们如果开发的应用程序来更新手机控件,采用这种方式就不太合适了。只有我们看到Activity,我们更新控件采用意义。
如果没看到Activity还照样更新,除了耗电,消耗内存外,一点好处也没有。所以就需要第一种方法。