通过继承BroadcastReceiver,重写onReceive方法,核心代码如下
/* get all unread messages begin */ 
Bundle bundle = intent.getExtras(); 
Object[] messages = (Object[]) bundle.get("pdus"); 
SmsMessage[] smsMessages = new SmsMessage[messages.length]; 
for (int i = 0; i < smsMessages.length; i++) 

    smsMessages[i] = SmsMessage.createFromPdu((byte[]) messages[i]); 

/* get all unread messages end */ 
/* get the first sms and copy to provider member */ 
GeneralInboxWidgetProvider.setMessageInfo(smsMessages[0].getOriginatingAddress(), smsMessages[0].getMessageBody()); 
Log.d(TAG,"smsMessages[0].getMessageBody()"+smsMessages[0].getMessageBody()); 
这是log打印出来的也就是smsMessages[0].getMessageBody()有时会不全,当短信内容长的时候,比如发送11到10086查询,内容不完整了,有谁碰到过这种情况吗?还请赐教,谢谢!