Android开发教程:BroadcastReceiver简介和注册方式

2014-11-24 14:48:58 · 作者: · 浏览: 26

BraodcastReceiver(广播接收器)是为了实现系统广播而提供的一种组件,它和事件处理机制类似,但是事件处理机制是程序组件级别的,而广播事件处理机制是系统级别的。比如,我们可以发出一种广播来测试手机电量的变化,这时候就可以定义一个BraodcastReceiver来接受广播,当手机电量较低时提示用户。我们既可以用Intent来启动一个组件,也可以用sendBroadcast()方法发起一个系统级别的事件广播来传递消息。我们同样可以在自己的应用程序中实现BroadcastReceiver来监听和响应广播的Intent。


在程序中使用BraodcastReceiver是比较简单的。首先要定义一个类继承BraodcastReceiver,并且覆盖onReceiver()方法来响应事件。然后注册在程序中BraodcastReceiver。最后构建Intent对象调用sendBroadcast()方法将广播发出。


二.BroadcastReceiver的注册方式


1.静态注册方式


下面是具体的例子:


MainActivity.java


在“com.android.broadcast”包中定义一个MyReceiver类,继承于BroadcastReceiver,覆盖onReceive()方法。


MyReceiver.java


main.xml


在AndroidManifest.xml配置文件中16~20行声明receiver


效果图:



当我们点击按钮的时候,程序会调用onReceive()方法,LogCat输出信息如下: