解析 pdu

来源:互联网 发布:c语言打印布尔值 编辑:程序博客网 时间:2024/06/06 12:07
        //解析 pdu        Object[] messages = (Object[]) intent.getSerializableExtra("pdus");        for (int i = 0; i < messages.length; i++) {            byte[] pud = (byte[]) messages[i];            SmsMessage sms = SmsMessage.createFromPdu(pud);            //获取短信内容            String body = sms.getMessageBody();            //获取短信号码            String address = sms.getOriginatingAddress();            System.out.println("号码:"+address+"\t短信内容:"+body);        }
//获取短信内容   SmsMessage[] messages = getMessagesFromIntent(intent);     for (SmsMessage sms : messages) {     String body = sms.getMessageBody();     String address = sms.getOriginatingAddress();     System.out.println(body+address);   } //系统自带的 PUD解析    public static SmsMessage[] getMessagesFromIntent(            Intent intent) {        Object[] messages = (Object[]) intent.getSerializableExtra("pdus");        String format = intent.getStringExtra("format");        byte[][] pduObjs = new byte[messages.length][];        for (int i = 0; i < messages.length; i++) {            pduObjs[i] = (byte[]) messages[i];        }        byte[][] pdus = new byte[pduObjs.length][];        int pduCount = pdus.length;        SmsMessage[] msgs = new SmsMessage[pduCount];        for (int i = 0; i < pduCount; i++) {            pdus[i] = pduObjs[i];            msgs[i] = SmsMessage.createFromPdu(pdus[i]);        }        return msgs;    }


0 0