如何获取短信内容

如何获取短信内容,并写出关键的Java代码

  编写一个广播接收器(ShortMessageReceiver),其中onReceiver方法的代码如下:   

 1 public class ShortMessageReceiver extends BroadcastReceiver{  2  @Override  3      public void onReceive(Context context,Intent intent){  4         Bundle bundle=intent.getExtras();  5             if(bundle !=null)  6  {  7                 //获取接收到的短信数据

 8                 Object[] objArray=(Object[])bundle.get("pdus");  9                 //定义封装短信内容的SmsMessage对象数组

10                 SmsMessage[] messages=new SmsMessage[objArray.length]; 11             //遍历收到的所有短信

12             for(int i=0;i<objArray.length;i++){ 13  { 14             //将每条短信数据转换成SmsMessage对象

15             messages[i]=SmsMessage.createFromPdu((byte[])objArray[i]); 16             //获得发送短信的电话号码和短信内容

17             String s="手机号:"+messages[i].getOriginatingAddress()+"\n"; 18             s+="短信内容:"+messages[i].getDisplayMessageBody(); 19             //显示发送短息的电话号码和短息内容

20  Toast.makeText(context,s,Toast.LENGTH_LONG).show(); 21  } 22  } 23    }

  然后在AndroidManifest.xml文件中定义 ShortMessageReceiver时添加短信广播Action即可,代码如下:

1 <receiver android:name=".ShortMessageReceiver"

2         android:enabled="true">

3     <intent-filter>

4         <action android:name="android.provider.Telephony.SMS_RECEIVED"/>

5     <intent-filter>

6 </receiver>

 

你可能感兴趣的:(短信)