1、 当产生一个事件时,比如来了一个电话, android 就会把该事件广播给所有的广播监
听器,相应的监听器就会进行处理
图示:
而我们要做的就是实现相应的广播接听器 BroadcastReveicer
2、 首先继承 BroadcastReceiver 类
public class TestReceiver extends BroadcastReceiver
{
public TestReceiver()// 构造函数
{
System. out .println( "TestReceiver" );
}
@Override // 要执行的操作
public void onReceive(Context context, Intent intent)
{
System. out .println( "onReceive" );
}
}
当 android 广播一个广播之后, BroadcastReveicer 进行接收,然后调用 onReceive ()
进行操作
3、 要想接收 android 的广播,必须对监听器进行注册,在 AndroidManifest 中注册,如下:
< receiver android:name = ".TestReceiver" >
< intent-filter >
< action android:name = "android.intent.action.EDIT" />
</ intent-filter >
</ receiver >
<intent-filter> 是过滤器,决定了这个监听器要接收那个事件,其中 name 会和
Intent 进行匹对
4、 如何进行广播的发送,
这时需要使用 intent 对象
Intent intent = new Intent();
intent.setAction(Intent. ACTION_EDIT ); // 说明动作
TestActivity. this .sendBroadcast(intent);// 该函数用于发送广播
其中, Intent. ACTION_EDIT 和 AndroidManifest 中的 <intent-filter> 的
Action name 进行匹对,确定该接收器会不会对发来的广播感兴趣
1、 上面 方法 文章在 AndroidManifest 中进行注册时,当该应用程序关闭时,该监听器依然处于活动状态,这适合于监听电池等功能,但是对于其他的可能产生麻烦
2、 为了避免弊端,可以在程序中注册广播接收器,
其中 filter 是一个过滤器,它的动作名会和 intent 的 action 进行匹对
下面就注册短信接听器的实例展示断码:
3、 如果短信监听器接收到短信的事件,那么如何获取内容,如下:
http://hi.baidu.com/lphack/blog/item/1cf3fb4e95f49327afc3abd4.html