Broadcast Receiver处理广播事件
本实例介绍自定义Broadcast Receiver和系统
1、自己定义Broadcast Receiver来处理广播事件
自己定义一个广播是比较简单的,首先在我们的程序组件里构建想要广播的Intent,使用sendBroadcast方法发送出去。其次定义一个广播接收器,该广播接收器继承BroadcastReceiver,并且覆盖onReceive()方法来相应事件。
最后注册该广播接收器,我们可以在代码中注册,也可以在AndroidManifest.xml配置文件中注册。
下面通过一个实例来演示Intent发出广播和Broadcast Receiver处理广播的过程:
MyReceive.java
??
2、系统广播事件的使用
除了上面我们自己定义的广播时间,Android系统还提供了一些自带的标准广播Action;这些广播是由系统自动发出的,我们只要直接接收即可。
系统自带标准广播action常量如下:
?我们既可以在AndroidManifest中注册一个广播接收器,也可以通过代码的方式来注册。当然我们也可以注销一个广播接收器。一般我们是在Activity.onResume()方法中使用registerReceiver()方法来注册一个广播接收器,在Activity.onPause()中使用unregisterReceiver(r)来注销一个广播接收器。下面的代码片段显示了如何使用一个intentFilter注册Broadcast Receiver。
IntentFilter filter = new IntentFilter();
MyReceiver2 r = new MyReceiver2();
//注册Receiver
registerReceiver(r,filter);
?
?