如何获取短信内容

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

 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>数组

相关文章
相关标签/搜索