标签: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