广播接收者之短信***在项目“广播接收者之IP拨号器”中,我们已经学****过广播接收者的使用方法。下面我们再来通过一个Demo进一步学****广播接收者的使用方法。设计需求:系统在接收短信时会发出广播,我们需要做的就是:在本应用中通过广播接收者来监听系统的短信广播事件并获取该短信的相关数据。具体操作步骤如下:“02_省电助手“,在该工程包下新建一个类SmsReceiver,此时工程结构如图1-1所示:图1-1所示编写SmsReceiver,使之继承“BroadcastReceiver“并重写onReceive方法,代码如例1-1:例1-lassSmsReceiverextendsBroadcastReceiver{***@OverridepublicvoidonReceive(Contextcontext,Intentintent){("短信到来了。哈哈哈哈");}} 例1-1编写了一个广播接收者,一旦接收到对应的广播就执行onReceive方法。广播接收者已经编写完成,我们还需要注册该广播接收者。,代码如下例1-2:例1-2</application>........<receiverandroid:name=""></receiver></application> ,我们只对短信广播感兴趣,对于其他的系统广播并不感兴趣。为此,我们需要指定该广播接收者所要接收的系统广播。代码如例1-3:例1-3<application>.......<receiverandroid:name=""><intent-filter><actionandroid:name=""/></intent-filter></receiver></application> 运行程序,在DDMS的EmulateControl视图中模拟发送短信事件,logcat输出日志如图1-2所示:图1-2所示从图1-2可知:当点击“send”按钮时,logcat打印输出“短信到来了。哈哈哈哈“即表示SmsReceiver中的onReceive得到了执行。由此可知:系统广播接收短信的事件我们可以监听到啦!,那么如何得到短信的内容和发送短信的电话号码呢?毋庸置疑,对于这些相关数据的处理我们肯定也是在onReceive方法中执行。具体代码如下例1-4:例1-lassSmsReceiverextendsBroadcastReceiver{***@OverridepublicvoidonReceive(Contextcontext,Intentintent){("短信到来了。哈哈哈哈");//获取到一组短信的objs数组Object[]objs=(Object[])().get("pdus");for(Objectobj:objs)
黑马程序员安卓教程:广播接受者之短信监听器 来自淘豆网www.taodocs.com转载请标明出处.