码迷,mamicode.com
首页 > 其他好文 > 详细

通过广播者实现短信的拦截

时间:2017-08-24 21:24:42      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:android   nat   blog   extra   action   gad   四大组件   roi   telephony   

在Android中的四大组件中的广播接收者(BroadcastReceiver):可以用于监听 / 接收 应用发出的广播消息,并做出响应。

所以,通过这个自然而然的可以实现短信的拦截。

先定义一个SmsListenerRecevicer类来继承BroadcastReceiver。在里面实现短信的拦截

 1 package cn.starry.smsListener;
 2 
 3 import android.content.BroadcastReceiver;
 4 import android.content.Context;
 5 import android.content.Intent;
 6 import android.telephony.SmsMessage;
 7 
 8 public class SmsListenerRecevicer extends BroadcastReceiver {
 9 
10     @Override
11     public void onReceive(Context context, Intent intent) {
12         Object[] objects = (Object[]) intent.getExtras().get("pdus");
13         for (Object pdu : objects) {
14             //获取smsmessage实例
15             SmsMessage message = SmsMessage.createFromPdu((byte[]) pdu);
16             //获取发送短信的内容
17             String boby = message.getMessageBody();
18             //获取发送者
19             String address = message.getOriginatingAddress();
20             System.out.println("body:" + boby + ",address:" + address);
21         }
22         
23     }
24 
25 }

 

然后在清单文件里声明该广播接收者。

由于出于安全考虑,在action里的name中不会出现

android.provider.Telephony.SMS_RECEIVED

所以需要自己自己打出来,不过复制粘贴也行。

最后需要添加"RECEIVE_SMS"权限就行了

 

通过广播者实现短信的拦截

标签:android   nat   blog   extra   action   gad   四大组件   roi   telephony   

原文地址:http://www.cnblogs.com/xingkongyihao/p/7424969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!