如何获取短信的内容?
1.编写一个广播接收器类,该类去集成BroadCastReceiver
在onReceive()方法中处理广播
关键的Java代码:

 1 public void onReceive(Context context,Intent intent){
 2 Bundle bundle=intent.getExtras();
 3 if(bundle!=null){
 4 //获得收到的数据
 5 Object[] objArray=(Object[])bundle.get("pdus");
 6 //定义封装短信内容的smsMessage对象数组
 7 SmsMessage[] messages=new SmsMessage[objArray.length];
 8 //循环处理收到的所有短信
 9 for(int i=0;i<objArray.length;i++){
10     //将每条短信数据装换成SmsMessage对象
11 messages[i]=SmsMessage.createFromPdu((byte[])objArray[i]);
12 //获取发送短信的电话号码和短信内容
13 String s="手机号:"+messages[i].getOriginatingAddress()+"\n";
14 s ="短信内容:"+message[i].getDisplayMessageBody();
15 //显示发送短信的电话号码和短信内容
16 Toast.makeText(context,s,Toast.LENGTH_LONG).show();
17 }
18 }
19 }

2.然后再清单文件中定义广播接收器类时添加短信广播Action即可。
<receiver android:name=".shortMessageReceiver"
android:enabled="true">
<intent-filter>
<action android:name"android.provider.Telephony.SMS_RECEIVED"/>
<intent-filter>
</receiver>

posted on 2014-10-06 10:10  xuan轩  阅读(604)  评论(0编辑  收藏  举报