解析短信PDU
问题描述:
似乎是我需要解析短信广播接收器期间收到的PDU字节数组:解析短信PDU
@Override
public void onReceive(Context context, Intent intent)
{
Bundle bundle = intent.getExtras();
Object[] pdus = (Object[]) bundle.get("pdus");
}
有人能指出我该怎么办呢?
我知道PDU可以使用SmsMessage.createFromPdu((byte[]) pdus[i])
来处理,但这不是我要找的。我需要更精确地控制pdu字节。
答
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
if (bundle == null) return;
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
smsCount = msgs.length;
String originalAddress;
String tmpSmsBody;
for (int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
// Original Address
originalAddress = msgs[i].getOriginatingAddress();
// Message body
tmpSmsBody= msgs[i].getMessageBody().toString();
}
}
给定链接已损坏..希望我们可以使用此https://code.google.com/archive/p/smslib/downloads – RameshJaga 2017-05-26 07:43:18