Android之短信接收

一个短信就是一个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(); 

原文地址:https://www.cnblogs.com/lee0oo0/p/2511325.html