一个短信就是一个SmsMessage对象,一个SmsMessage对象通过一个 byte[]来创建,一个byte[]数组就是一个object对象;在实际中有可能一条短信的内容太长,就会分成几条短信,所以此时就对应着一个byte[][] 的二维数组。
//Android中短信封装的形式是pdus
Object[] object = (Object[]) intent.getSerializableExtra("pdus");
byte[][] pdus = new byte[object.length][];
for(int i=0;i<pdus.length;i++){
pdus[i] = (byte[]) object[i];
}
SmsMessage []msgs = new SmsMessage[object.length];
for(int i=0;i<pdus.length;i++){
msgs[i] = SmsMessage.createFromPdu(pdus[i]);
}
for(int i=0;i<msgs.length;i++){
//获得的短信号码
String oriAddress = msgs[i].getDisplayOriginatingAddress();
//获得的短信的内容
String body = msgs[i].getDisplayMessageBody();
}