当短信内容长度过于长时,可以采用分条发送方法。关键代码:
StringBuffer SMSAddress = new StringBuffer();
StringBuffer SMSContent = new StringBuffer();
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdusObjects = (Object[]) bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdusObjects.length];
for (int i = 0; i < pdusObjects.length; i++) {
messages[i] = SmsMessage
.createFromPdu((byte[]) pdusObjects[i]);
}
Log.i("messags",messages.length +"");
//遍历得到的短信息的条数
for (SmsMessage message : messages) {
//根据得到的短信条数,将短信地址和短信内容分条
SMSAddress.delete(0, SMSAddress.length());
SMSContent.delete(0, SMSContent.length());
SMSAddress.append(message.getDisplayOriginatingAddress());
SMSContent.append(message.getDisplayMessageBody());
//将得到的短信地址和短信内容发出去
}
}